A log usually implies some kind of more permanent storage, which might mean that it should be written to a file. If so, then a structure is not necessarily required. It could be implemented as a function that accepts the required information and generates the other information (e.g., time/date).
But if it is indeed more of a temporary type of storage, then it could be stored in a simple circular array. Keep an index of the current position in the array and write to that position.
typedef struct {
int faultNumber;
char faultName[50]; // length should probably be a #define
char faultDate[20]; // date in C could be stored in some kind of char array.
// or it could be something representing results of something
// like a time_t result.
} LOG_ENTRY;
LOG_ENTRY LOGS[10];
int iCurPos = 0;
Then add an entry at the current position and increment iCurPos and loop it back to 0 when it hits the end.