#include "portab.h"
-static char UNUSED id[] = "$Id: log.c,v 1.62 2006/08/05 09:16:21 fw Exp $";
-
#include "imp.h"
#include <assert.h>
#include <errno.h>
static void Wall_ServerNotice PARAMS(( char *Msg ));
+static void
+Log_Message(int Level, const char *msg)
+{
+ if (!Is_Daemon) {
+ /* log to console */
+ fprintf(stdout, "[%ld:%d %4ld] %s\n", (long)getpid(), Level,
+ (long)time(NULL) - NGIRCd_Start, msg);
+ fflush(stdout);
+ }
+#ifdef SYSLOG
+ else {
+ syslog(Level, "%s", msg);
+ }
+#endif
+}
+
GLOBAL void
Log_Init( bool Daemon_Mode )
#ifndef LOG_LOCAL5
#define LOG_LOCAL5 0
#endif
- /* Syslog initialisieren */
openlog( PACKAGE_NAME, LOG_CONS|LOG_PID, LOG_LOCAL5 );
#endif
- /* Hello World! */
Log( LOG_NOTICE, "%s started.", NGIRCd_Version );
- /* Informationen uebern den "Operation Mode" */
+ /* Information about "Operation Mode" */
Init_Txt[0] = '\0';
#ifdef DEBUG
if( NGIRCd_Debug )
#ifdef DEBUG
-
GLOBAL void
Log_InitErrorfile( void )
{
- /* "Error-Log" initialisieren: stderr in Datei umlenken. Dort
- * landen z.B. alle Ausgaben von assert()-Aufrufen. */
-
- /* Dateiname zusammen bauen */
snprintf( Error_File, sizeof Error_File, "%s/%s-%ld.err", ERROR_DIR, PACKAGE_NAME, (long)getpid( ));
- /* stderr umlenken */
fflush( stderr );
if( ! freopen( Error_File, "w", stderr ))
{
return;
}
- /* Einige Infos in das Error-File schreiben */
fputs( ctime( &NGIRCd_Start ), stderr );
fprintf( stderr, "%s started.\n", NGIRCd_Version );
fprintf( stderr, "Activating: %s\n\n", Init_Txt[0] ? Init_Txt : "-" );
fflush( stderr );
-#ifdef DEBUG
- Log( LOG_DEBUG, "Redirected stderr to \"%s\".", Error_File );
-#endif
+ Log(LOG_DEBUG, "Redirected stderr to \"%s\".", Error_File);
} /* Log_InitErrfile */
-
#endif
#endif
#ifdef SYSLOG
- /* syslog abmelden */
- closelog( );
+ closelog();
#endif
} /* Log_Exit */
vsnprintf( msg, MAX_LOG_MSG_LEN, Format, ap );
va_end( ap );
- if (!Is_Daemon) {
- /* log to console */
- fprintf(stdout, "[%d:%d %4ld] %s\n", (int)getpid( ), Level,
- time(NULL) - NGIRCd_Start, msg);
- fflush(stdout);
- }
-#ifdef SYSLOG
- else
- {
- /* Syslog */
- syslog( Level, "%s", msg );
- }
-#endif
+ Log_Message(Level, msg);
- if( Level <= LOG_CRIT )
- {
+ if (Level <= LOG_CRIT) {
/* log critical messages to stderr */
- fprintf( stderr, "%s\n", msg );
- fflush( stderr );
+ fprintf(stderr, "%s\n", msg);
+ fflush(stderr);
}
if (snotice) {
openlog( PACKAGE_NAME, LOG_CONS|LOG_PID, LOG_LOCAL5 );
#endif
#ifdef DEBUG
- Log_Resolver( LOG_DEBUG, "Resolver sub-process starting, PID %d.", getpid( ));
+ Log_Resolver(LOG_DEBUG, "Resolver sub-process starting, PID %ld.", (long)getpid());
#endif
} /* Log_Init_Resolver */
Log_Exit_Resolver( void )
{
#ifdef DEBUG
- Log_Resolver( LOG_DEBUG, "Resolver sub-process %d done.", getpid( ));
+ Log_Resolver(LOG_DEBUG, "Resolver sub-process %ld done.", (long)getpid());
#endif
#ifdef SYSLOG
closelog( );
vsnprintf( msg, MAX_LOG_MSG_LEN, Format, ap );
va_end( ap );
- if (!Is_Daemon) {
- /* Output to console */
- fprintf(stdout, "[%d:%d %4ld] %s\n", (int)getpid( ), Level,
- time(NULL) - NGIRCd_Start, msg);
- fflush(stdout);
- }
-#ifdef SYSLOG
- else syslog( Level, "%s", msg );
-#endif
+ Log_Message(Level, msg);
} /* Log_Resolver */