]> andersk Git - openssh.git/blob - log-client.c
c1aeb32f37047b8c82b5538b9930bfdaf2c308cc
[openssh.git] / log-client.c
1 /*
2  * 
3  * log-client.c
4  * 
5  * Author: Tatu Ylonen <ylo@cs.hut.fi>
6  * 
7  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
8  *                    All rights reserved
9  * 
10  * Created: Mon Mar 20 21:13:40 1995 ylo
11  * 
12  * Client-side versions of debug(), log(), etc.  These print to stderr.
13  * This is a stripped down version of log-server.c.
14  * 
15  */
16
17 #include "includes.h"
18 RCSID("$Id$");
19
20 #include "xmalloc.h"
21 #include "ssh.h"
22
23 static LogLevel log_level = SYSLOG_LEVEL_INFO;
24
25 /* Initialize the log.
26  *   av0        program name (should be argv[0])
27  *   level      logging level
28  */
29
30 void
31 log_init(char *av0, LogLevel level, SyslogFacility ignored1, int ignored2)
32 {
33         switch (level) {
34         case SYSLOG_LEVEL_QUIET:
35         case SYSLOG_LEVEL_ERROR:
36         case SYSLOG_LEVEL_FATAL:
37         case SYSLOG_LEVEL_INFO:
38         case SYSLOG_LEVEL_VERBOSE:
39         case SYSLOG_LEVEL_DEBUG:
40                 log_level = level;
41                 break;
42         default:
43                 /* unchanged */
44                 break;
45         }
46 }
47
48 #define SSH_MSGBUFSIZE 1024
49
50 void
51 do_log(LogLevel level, const char *fmt, va_list args)
52 {
53         char msgbuf[SSH_MSGBUFSIZE];
54
55         if (level > log_level)
56                 return;
57         if (level == SYSLOG_LEVEL_DEBUG)
58                 fprintf(stderr, "debug: ");
59         vsnprintf(msgbuf, sizeof(msgbuf), fmt, args);
60         fprintf(stderr, "%s", msgbuf);
61         fprintf(stderr, "\r\n");
62 }
This page took 0.341437 seconds and 3 git commands to generate.