]>
jfr.im git - irc/quakenet/newserv.git/blob - chanserv/chanservlog.c
8 #include "../core/hooks.h"
9 #include "../core/error.h"
13 /* When we get a sigusr1, reopen the logfile */
14 void cs_usr1handler(int hooknum
, void *arg
) {
15 Error("chanserv",ERR_INFO
,"Reopening logfile.");
20 logfd
=open("chanservlog",O_WRONLY
|O_CREAT
|O_APPEND
,S_IRUSR
|S_IWUSR
);
24 logfd
=open("chanservlog",O_WRONLY
|O_CREAT
|O_APPEND
,S_IRUSR
|S_IWUSR
);
25 registerhook(HOOK_CORE_SIGUSR1
, cs_usr1handler
);
31 deregisterhook(HOOK_CORE_SIGUSR1
, cs_usr1handler
);
34 void cs_log(nick
*np
, char *event
, ... ) {
48 vsnprintf(buf
,512,event
,va
);
52 snprintf(userbuf
,511,"%s!%s@%s [%s%s]",np
->nick
,np
->ident
,np
->host
->name
->content
,
53 getreguserfromnick(np
)?"auth ":"noauth",getreguserfromnick(np
)?getreguserfromnick(np
)->username
:"");
60 strftime(timebuf
,100,"%Y-%m-%d %H:%M:%S",tm
);
61 len
=snprintf(buf2
,1024,"[%s] %s %s\n",timebuf
,userbuf
,buf
);
62 write(logfd
, buf2
, len
);