WHY2/include/logger/flags.h

66 lines
1.9 KiB
C
Raw Normal View History

/*
This is part of WHY2
Copyright (C) 2022 Václav Šmejkal
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
2022-11-18 19:10:03 +01:00
#ifndef WHY2_LOGGER_FLAGS_H
#define WHY2_LOGGER_FLAGS_H
2022-11-18 19:15:52 +01:00
//CONSTS
2022-11-18 19:50:23 +01:00
const enum RETURN_CODES //exit codes you fucking idiot (2#)
{
INVALID_FILE = -1 //THIS WILL HAPPEN IF YOU USE TOO MUCH LOGS lol
};
#define WRITE_MESSAGE_1 "Hello from logger-test! 👋"
#define WRITE_MESSAGE_2 "aAzZ( )!?#\\/śŠ <3|420*;㍿㊓ㅅΔ♛👶🏿"
#define WRITE_MESSAGE_3 "ˢᵃʸ ʸᵉˢ ᵗᵒ ᵈʳᵘᵍˢ"
#define WRITE_DIR "./logs"
#define LOG_LATEST "latest.log"
#define LOG_FORMAT "yyyy-mm-dd_xxx.log" //THE LAST xxx IS FOR BASE-16 NUMBER OF USAGE THAT DAY (SO MAX IS 4095 [FFF] USAGES PER DAY)
#define LOG_FORMAT_START "yyyy-mm-dd" //FIRST PART OF LOG_FORMAT
#define LOG_FORMATTING "%s/%s_%03x.log" //SAME THING AS LOG_FORMAT, BUT USED IN sprintf IN logger.c, NOT AS LENGTH
#define LOG_FORMATTING_START "%04d-%02d-%02d" //FIRST PART OF LOG_FORMATTING
2022-11-22 18:35:46 +01:00
#define WRITE_FORMAT "[hh:mm:ss]: " //LOG MESSAGE'S PREFIX (THE SPACE AT THE END IS INTENTIONAL)
#define WRITE_FORMATTING "[%02d:%02d:%02d]: %s\n" //guess what
2022-11-22 18:35:46 +01:00
#define LOG_LATEST_FORMATTING "%s/%s"
#define MAX_USAGE 0xfff //LOOK AT LOG_FORMAT
2022-11-18 19:10:03 +01:00
2022-12-04 19:04:24 +01:00
//TYPES
typedef struct
{
int file;
char *fileName;
} logFile;
2022-12-09 17:28:48 +01:00
typedef struct
{
char *key;
2022-12-09 17:37:56 +01:00
} logFlags;
2022-12-09 17:28:48 +01:00
//GETTERS
logFlags getLogFlags(void);
//SETTERS
2022-12-09 17:37:56 +01:00
void setLogFlags(logFlags logFlagsNew);
2022-11-18 19:10:03 +01:00
#endif