diff --git a/src/ngircd/log.c b/src/ngircd/log.c index 80b2c056..d81bec24 100644 --- a/src/ngircd/log.c +++ b/src/ngircd/log.c @@ -64,6 +64,12 @@ Log_Message(int Level, const char *msg) } +/** + * Initialitze logging. + * This function is called before the configuration file is read in. + * + * @param Daemon_Mode Set to true if ngIRCd is running as daemon. + */ GLOBAL void Log_Init(bool Daemon_Mode) { @@ -80,6 +86,23 @@ Log_Init(bool Daemon_Mode) } /* Log_Init */ +/** + * Re-init logging after reading the configuration file. + */ +GLOBAL void +Log_ReInit(void) +{ +#ifdef SYSLOG +#ifndef LOG_CONS /* Kludge: mips-dec-ultrix4.5 has no LOG_CONS */ +#define LOG_CONS 0 +#endif + closelog(); + openlog(PACKAGE_NAME, LOG_CONS|LOG_PID, Conf_SyslogFacility); +#endif + Log(LOG_NOTICE, "%s started.", NGIRCd_Version); +} + + GLOBAL void Log_Exit( void ) { diff --git a/src/ngircd/log.h b/src/ngircd/log.h index 5222b5d2..f582e6c8 100644 --- a/src/ngircd/log.h +++ b/src/ngircd/log.h @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001-2010 Alexander Barton (alex@barton.de) + * Copyright (c)2001-2012 Alexander Barton (alex@barton.de) * * 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 @@ -36,6 +36,7 @@ GLOBAL void Log_Init PARAMS(( bool Daemon_Mode )); GLOBAL void Log_Exit PARAMS(( void )); GLOBAL void Log PARAMS(( int Level, const char *Format, ... )); +GLOBAL void Log_ReInit PARAMS((void)); GLOBAL void Log_ServerNotice PARAMS((char UserMode, const char *Format, ...)); diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c index 874dfa3f..60d15a1f 100644 --- a/src/ngircd/ngircd.c +++ b/src/ngircd/ngircd.c @@ -255,11 +255,11 @@ main(int argc, const char *argv[]) NGIRCd_SignalRestart = false; NGIRCd_SignalQuit = false; - Random_Init(); - /* Initialize modules, part I */ Log_Init(!NGIRCd_NoDaemon); + Random_Init(); Conf_Init(); + Log_ReInit(); /* Initialize the "main program": chroot environment, user and * group ID, ... */