LOG_ITEM_WINDOW_REFNUM
};
-typedef struct {
+typedef char *(*COLORIZE_FUNC)(const char *str);
+
+typedef struct _LOG_REC LOG_REC;
+typedef struct _LOG_ITEM_REC LOG_ITEM_REC;
+
+struct _LOG_ITEM_REC {
int type;
char *name;
char *servertag;
-} LOG_ITEM_REC;
+};
-typedef struct {
+struct _LOG_REC {
char *fname; /* file name, in strftime() format */
char *real_fname; /* the current expanded file name */
int handle; /* file handle */
GSList *items; /* log only on these items */
time_t last; /* when last message was written */
+ COLORIZE_FUNC colorizer;
unsigned int autoopen:1; /* automatically start logging at startup */
unsigned int failed:1; /* opening log failed last time */
unsigned int temp:1; /* don't save this to config file */
-} LOG_REC;
+};
extern GSList *logs;
LOG_ITEM_REC *log_item_find(LOG_REC *log, int type, const char *item,
const char *servertag);
-void log_file_write(SERVER_REC *server, const char *item, int level,
+void log_file_write(const char *server_tag, const char *item, int level,
const char *str, int no_fallbacks);
void log_write_rec(LOG_REC *log, const char *str, int level);