Changeset 1642


Ignore:
Timestamp:
02/21/10 11:21:55 (11 years ago)
Author:
alno
Message:

WebIf:

  • some code cleanup in logger + avoid initial log line on logger init if disablelog==1 (THX @ Vogi for report)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/monitor-improvement/oscam-log.c

    r1640 r1642  
    6969int cs_init_log(char *file)
    7070{
    71   static char *head = ">> OSCam <<  cardserver started version " CS_VERSION ", build #" CS_SVN_VERSION " (" CS_OSTYPE ")";
    72 
    73   if (!strcmp(file, "stdout"))
    74   {
    75     use_stdout=1;
    76     fp=stdout;
    77     cs_log(head);
    78     cs_log_config();
    79     return(0);
    80   }
    81   if (strcmp(file, "syslog"))
    82   {
    83     if (!fp)
    84     {
    85       if ((fp=fopen(file, "a+"))<=(FILE *)0)
    86       {
    87         fp=(FILE *)0;
    88         fprintf(stderr, "couldn't open logfile: %s (errno %d)\n", file, errno);
    89       }
    90       else
    91       {
    92         time_t t;
    93         char line[80];
    94         memset(line, '-', sizeof(line));
    95         line[(sizeof(line)/sizeof(char))-1]='\0';
    96         time(&t);
    97         fprintf(fp, "\n%s\n>> OSCam <<  cardserver started at %s%s\n", line, ctime(&t), line);
    98         cs_log_config();
    99       }
    100     }
    101     return(fp<=(FILE *)0);
    102   }
    103   else
    104   {
    105     openlog("oscam", LOG_NDELAY, LOG_DAEMON);
    106     use_syslog=1;
    107     cs_log(head);
    108     cs_log_config();
    109     return(0);
    110   }
     71    static char *head = ">> OSCam <<  cardserver started version " CS_VERSION ", build #" CS_SVN_VERSION " (" CS_OSTYPE ")";
     72
     73    if (!strcmp(file, "stdout")) {
     74        use_stdout = 1;
     75        fp = stdout;
     76        cs_log(head);
     77        cs_log_config();
     78        return(0);
     79    }
     80    if (strcmp(file, "syslog")) {
     81        if (!fp) {
     82            if ((fp = fopen(file, "a+")) <= (FILE *)0) {
     83                fp = (FILE *)0;
     84                fprintf(stderr, "couldn't open logfile: %s (errno %d)\n", file, errno);
     85            } else {
     86                time_t t;
     87                char line[80];
     88                memset(line, '-', sizeof(line));
     89                line[(sizeof(line)/sizeof(char)) - 1] = '\0';
     90                time(&t);
     91                if (!cfg->disablelog)
     92                    fprintf(fp, "\n%s\n>> OSCam <<  cardserver started at %s%s\n", line, ctime(&t), line);
     93                cs_log_config();
     94            }
     95        }
     96        return(fp <= (FILE *)0);
     97    } else {
     98        openlog("oscam", LOG_NDELAY, LOG_DAEMON);
     99        use_syslog = 1;
     100        cs_log(head);
     101        cs_log_config();
     102        return(0);
     103    }
    111104}
    112105
    113106static char *get_log_header(int m, char *txt)
    114107{
    115   if (m)
    116   {
    117     sprintf(txt, "%6d ", getpid());
    118     if (cs_idx)
    119       switch (client[cs_idx].typ)
    120       {
    121         case 'r':
    122         case 'p': sprintf(txt+7, "%c%02d ", client[cs_idx].typ, cs_idx-1);
    123                   break;
    124         case 'm':
    125         case 'c': sprintf(txt+7, "%c%02d ", client[cs_idx].typ, cs_idx-cdiff);
    126                   break;
     108    if(m) {
     109        sprintf(txt, "%6d ", getpid());
     110        if (cs_idx) {
     111            switch (client[cs_idx].typ) {
     112                case 'r':
     113                case 'p':   sprintf(txt+7, "%c%02d ", client[cs_idx].typ, cs_idx - 1);
     114                            break;
     115                case 'm':
     116                case 'c':   sprintf(txt+7, "%c%02d ", client[cs_idx].typ, cs_idx - cdiff);
     117                            break;
    127118#ifdef CS_ANTICASC
    128         case 'a':
     119                case 'a':
    129120#endif
    130         case 'l':
    131         case 'h':
    132         case 'n': sprintf(txt+7, "%c   "  , client[cs_idx].typ);
    133                   break;
    134       }
    135     else
    136       strcpy(txt+7, "s   ");
    137   }
    138   else
    139   {
    140     sprintf(txt, "%-11.11s", "");
    141   }
    142   return(txt);
     121                case 'l':
     122                case 'h':
     123                case 'n':   sprintf(txt+7, "%c   "  , client[cs_idx].typ);
     124                            break;
     125            }
     126        } else {
     127            strcpy(txt+7, "s   ");
     128        }
     129    } else {
     130        sprintf(txt, "%-11.11s", "");
     131    }
     132    return(txt);
    143133}
    144134
Note: See TracChangeset for help on using the changeset viewer.