ze-filter  (ze-filter-0.8.0-develop-180218)
ze-log.c
Go to the documentation of this file.
1 
2 /*
3  *
4  * ze-filter - Mail Server Filter for sendmail
5  *
6  * Copyright (c) 2001-2018 - Jose-Marcio Martins da Cruz
7  *
8  * Auteur : Jose Marcio Martins da Cruz
9  * jose.marcio.mc@gmail.org
10  *
11  * Historique :
12  * Creation : Mon Apr 2 16:15:15 CEST 2007
13  *
14  * This program is free software, but with restricted license :
15  *
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  * More details about ze-filter license can be found at ze-filter
22  * web site : http://foss.jose-marcio.org
23  */
24 
25 
26 #include <ze-sys.h>
27 #include <ze-filter.h>
28 #include <ze-log.h>
29 
30 
31 void
33  char *app;
34 {
35  char *p;
36 
37  app = STRNULL(app, "ze-filter");
38  /*
39  * Log level
40  */
43 
44  if (cf_opt.arg_l != NULL) {
45  int l = 0;
46 
47  if ((l = atoi(cf_opt.arg_l)) > 0)
48  ze_logLevel = l;
49  }
50  {
51  char *envloglevel = NULL;
52  int level;
53 
54  if ((envloglevel = getenv("ZEFILTER_LOG_LEVEL")) != NULL) {
55  level = atoi(envloglevel);
56  if (level > 0)
57  ze_logLevel = level;
58  }
59  }
60 
61  /*
62  * Log facility
63  */
64  if ((p = cf_get_str(CF_LOG_FACILITY)) != NULL) {
65  int n;
66 
67  n = zeLog_FacilityValue(p);
68  if (n != -1 && n != ze_logFacility) {
70  closelog();
71  openlog(app, LOG_PID | LOG_NOWAIT | LOG_NDELAY, ze_logFacility);
72  ZE_MessageInfo(11, "NEW FACILITY : %d - %s",
74  }
75  }
76 
77 }
char * arg_l
Definition: ze-config.h:48
int zeLog_FacilityValue(char *)
Definition: zeSyslog.c:442
#define CF_LOG_FACILITY
Definition: cfh-defs.h:55
int ze_logLevel
Definition: zeSyslog.c:34
#define STRNULL(x, r)
Definition: macros.h:81
#define CF_LOG_LEVEL
Definition: cfh-defs.h:56
int ze_logFacility
Definition: zeSyslog.c:35
void configure_log(char *app)
Definition: ze-log.c:32
char * zeLog_FacilityName(int)
Definition: zeSyslog.c:431
int cf_get_int(int id)
Definition: ze-cf.c:803
void zeLog_SetFacility(char *)
Definition: zeSyslog.c:475
#define ZE_MessageInfo(level,...)
Definition: zeSyslog.h:90
#define OPT_NO
Definition: ze-cf.h:44
OPT_REC_T cf_opt
Definition: ze-config.c:40
char * cf_get_str(int id)
Definition: ze-cf.c:854
#define CF_LOG_SEVERITY
Definition: cfh-defs.h:57
bool ze_logSeverity
Definition: zeSyslog.c:36