irssi/src/core/log.h
Timo Sirainen cf83236346 printtext(): you can now specify server target with tag name instead of
record. This is useful with DCC chats when you know the initial server tag
but the server might be already disconnected.

So what this means is that you now get ~/irclogs/ircnet/=nick.log instead of
~/irclogs/=nick.log :)


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2388 dbcabf3a-b0e7-0310-adc4-f8d773084564
2002-02-04 04:27:45 +00:00

61 lines
1.6 KiB
C

#ifndef __LOG_H
#define __LOG_H
#define LOG_DIR_CREATE_MODE 0700
enum {
LOG_ITEM_TARGET, /* channel, query, .. */
LOG_ITEM_WINDOW_REFNUM
};
typedef char *(*COLORIZE_FUNC)(const char *str);
typedef struct {
int type;
char *name;
char *servertag;
} LOG_ITEM_REC;
typedef struct {
char *fname; /* file name, in strftime() format */
char *real_fname; /* the current expanded file name */
int handle; /* file handle */
time_t opened;
int level; /* log only these levels */
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;
/* Create log record - you still need to call log_update() to actually add it
into log list */
LOG_REC *log_create_rec(const char *fname, int level);
void log_update(LOG_REC *log);
void log_close(LOG_REC *log);
LOG_REC *log_find(const char *fname);
void log_item_add(LOG_REC *log, int type, const char *name,
const char *servertag);
void log_item_destroy(LOG_REC *log, LOG_ITEM_REC *item);
LOG_ITEM_REC *log_item_find(LOG_REC *log, int type, const char *item,
const char *servertag);
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);
int log_start_logging(LOG_REC *log);
void log_stop_logging(LOG_REC *log);
void log_init(void);
void log_deinit(void);
#endif