UnixSyslogInterface.st
author Stefan Vogel <sv@exept.de>
Tue, 28 Apr 2020 16:22:26 +0200
changeset 25375 b784fc06a5eb
parent 25290 6cc4b317c2ab
permissions -rw-r--r--
#REFACTORING by stefan class: KeyedCollection class added: #newWithCapacity:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     1
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2018 by eXept Software AG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     4
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.  This software may not
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    10
 hereby transferred.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    11
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    13
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    14
"{ NameSpace: Smalltalk }"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    15
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    16
MiniLogger subclass:#UnixSyslogInterface
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    17
	instanceVariableNames:''
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    18
	classVariableNames:'LOG_EMERG LOG_ALERT LOG_CRIT LOG_ERR LOG_WARNING LOG_NOTICE
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    19
		LOG_INFO LOG_DEBUG LOG_KERN LOG_USER LOG_MAIL LOG_DAEMON LOG_AUTH
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    20
		LOG_SYSLOG LOG_LPR LOG_NEWS LOG_UUCP LOG_CRON LOG_AUTHPRIV
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    21
		LOG_FTP LOG_LOCAL0 LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    22
		LOG_LOCAL5 LOG_LOCAL6 LOG_LOCAL7 LOG_PID LOG_CONS LOG_ODELAY
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
    23
		LOG_NDELAY LOG_PERROR PriorityMapping DefaultSyslogFacility
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
    24
		DefaultSyslogFacilityString PriorityToStringMapping UseCommand'
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    25
	poolDictionaries:''
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    26
	category:'System-Debugging-Support'
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    27
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    28
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    29
!UnixSyslogInterface class methodsFor:'documentation'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    30
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    31
copyright
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    32
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    33
 COPYRIGHT (c) 2018 by eXept Software AG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    34
              All Rights Reserved
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    35
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    36
 This software is furnished under a license and may be used
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    37
 only in accordance with the terms of that license and with the
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    38
 inclusion of the above copyright notice.  This software may not
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    39
 be provided or otherwise made available to, or used by, any
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    40
 other person.  No title to or ownership of the software is
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    41
 hereby transferred.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    42
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    43
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    44
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    45
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    46
documentation
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    47
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    48
    This logger logs messages via the Unix/Linux syslog system call
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    49
    (so it is not available in Windows).
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    50
    It uses any log method implemented in the syslog system call, e.g.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    51
    logging via network.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    52
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    53
    [author:]
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    54
        Stefan Vogel
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    55
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    56
    [class variables:]
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    57
        DefaultSyslogFacility   Integer     the default facility of syslog (e.g. self LOG_LOCAL0).
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    58
                                            This is different from the Logger facility arg.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    59
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    60
    [see also:]
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    61
        MiniLogger
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    62
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    63
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    64
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    65
examples
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    66
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    67
                                                            [exBegin]
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    68
    Logger := self.
25290
6cc4b317c2ab #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 24134
diff changeset
    69
    self info:'%1 info demo » (%2%)' with:'stx' with:16.
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    70
    self warning:'%1 warning demo (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    71
    self error:'%1 error demo (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    72
    self fatal:'%1 fatal demo (%2%)' with:'stx' with:16.
24134
f9943388947a #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 23464
diff changeset
    73
    Logger := MiniLogger.
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    74
                                                            [exEnd]
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    75
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    76
                                                            [exBegin]
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    77
    self openlog:'stx' option:0 facility:self LOG_USER.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    78
    self syslog:self LOG_WARNING message:'%1 demo (%2%)' arguments:#('stx' 16).
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    79
    self closelog.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    80
                                                            [exEnd]
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    81
"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    82
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    83
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    84
!UnixSyslogInterface class methodsFor:'initialization'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    85
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    86
initialize
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    87
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    88
    "/ Priorities
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    89
    PriorityMapping := Dictionary new.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    90
    PriorityMapping 
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    91
        at:FATAL    put:0;     "/ LOG_EMERG: system is unusable
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    92
                               "/ 1 LOG_ALERT: action must be taken immediately  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    93
                               "/ 2 LOG_CRIT: critical conditions  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    94
        at:ERROR    put:3;     "/ LOG_ERR: error conditions 
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    95
        at:WARNING  put:4;     "/ LOG_WARNING: warning conditions 
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    96
        at:WARN     put:4;
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    97
                               "/ 5 LOG_NOTICE: normal but significant condition  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    98
        at:INFO     put:6;     "/ LOG_INFO: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    99
        at:DEBUG    put:7;     "/ LOG_DEBUG: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   100
        at:TRACE0   put:7;     "/ LOG_DEBUG: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   101
        at:TRACE1   put:7;     "/ LOG_DEBUG: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   102
        at:TRACE2   put:7;     "/ LOG_DEBUG: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   103
        at:TRACE3   put:7;     "/ LOG_DEBUG: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   104
        at:ENTER    put:7;     "/ LOG_DEBUG: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   105
        at:LEAVE    put:7.     "/ LOG_DEBUG: informational
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   106
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   107
    "/ Facilities
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   108
    LOG_KERN   := (0<<3).  "/ kernel messages 
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   109
    LOG_USER   := (1<<3).  "/ random user-level messages  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   110
    LOG_MAIL   := (2<<3).  "/ mail system  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   111
    LOG_DAEMON := (3<<3).  "/ system daemons  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   112
    LOG_AUTH   := (4<<3).  "/ security/authorization messages  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   113
    LOG_SYSLOG := (5<<3).  "/ messages generated internally by syslogd  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   114
    LOG_LPR    := (6<<3).  "/ line printer subsystem  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   115
    LOG_NEWS   := (7<<3).  "/ network news subsystem  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   116
    LOG_UUCP   := (8<<3).  "/ UUCP subsystem  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   117
    LOG_CRON   := (9<<3).  "/ clock daemon  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   118
    LOG_AUTHPRIV := (10<<3). "/ security/authorization messages (private)  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   119
    LOG_FTP    := (11<<3). "/ ftp daemon  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   120
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   121
           "/ other codes through 15 reserved for system use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   122
    LOG_LOCAL0 := (16<<3). "/ reserved for local use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   123
    LOG_LOCAL1 := (17<<3). "/ reserved for local use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   124
    LOG_LOCAL2 := (18<<3). "/ reserved for local use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   125
    LOG_LOCAL3 := (19<<3). "/ reserved for local use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   126
    LOG_LOCAL4 := (20<<3). "/ reserved for local use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   127
    LOG_LOCAL5 := (21<<3). "/ reserved for local use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   128
    LOG_LOCAL6 := (22<<3). "/ reserved for local use  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   129
    LOG_LOCAL7 := (23<<3). "/ reserved for local use
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   130
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   131
    "/ Options
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   132
    LOG_PID    := 16r01.    "/ log the pid with each message 
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   133
    LOG_CONS   := 16r02.    "/ log on the console if errors in sending  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   134
    LOG_ODELAY := 16r04.    "/ delay open until first syslog() (default)  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   135
    LOG_NDELAY := 16r08.    "/ don't delay open  
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   136
    LOG_PERROR := 16r20.    "/ log to stderr as well
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   137
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   138
    DefaultSyslogFacility := LOG_LOCAL4.
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   139
    DefaultSyslogFacilityString := 'local4'.
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   140
    PriorityToStringMapping := #('emerg' 'alert' 'crit' 'err' 'warning' 'notice' 'info' 'debug').
23464
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   141
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   142
    "/ no access to FFI / ObjectFileLoader here; do this lazy, when actually needed
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   143
    UseCommand := nil.
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   144
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   145
    "Created: / 24-02-2018 / 15:37:22 / stefan"
23226
5bc095162d77 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23220
diff changeset
   146
    "Modified: / 22-07-2018 / 15:21:01 / Stefan Vogel"
23464
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   147
    "Modified: / 24-10-2018 / 19:38:10 / Claus Gittinger"
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   148
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   149
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   150
!UnixSyslogInterface class methodsFor:'accessing'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   151
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   152
defaultSyslogFacility
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   153
    ^ DefaultSyslogFacility
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   154
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   155
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   156
defaultSyslogFacility:anInteger
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   157
    "set the default facility of syslog (e.g. self LOG_LOCAL0).
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   158
     This is different from the Logger facility arg."
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   159
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   160
    DefaultSyslogFacility := anInteger.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   161
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   162
    "Modified (comment): / 28-06-2018 / 11:37:16 / Stefan Vogel"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   163
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   164
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   165
!UnixSyslogInterface class methodsFor:'accessing-facilities'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   166
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   167
LOG_AUTH
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   168
    ^ LOG_AUTH
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   169
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   170
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   171
LOG_AUTHPRIV
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   172
    ^ LOG_AUTHPRIV
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   173
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   174
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   175
LOG_CRON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   176
    ^ LOG_CRON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   177
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   178
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   179
LOG_DAEMON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   180
    ^ LOG_DAEMON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   181
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   182
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   183
LOG_FTP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   184
    ^ LOG_FTP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   185
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   186
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   187
LOG_KERN
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   188
    ^ LOG_KERN
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   189
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   190
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   191
LOG_LOCAL0
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   192
    ^ LOG_LOCAL0
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   193
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   194
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   195
LOG_LOCAL1
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   196
    ^ LOG_LOCAL1
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   197
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   198
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   199
LOG_LOCAL2
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   200
    ^ LOG_LOCAL2
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   201
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   202
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   203
LOG_LOCAL3
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   204
    ^ LOG_LOCAL3
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   205
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   206
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   207
LOG_LOCAL4
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   208
    ^ LOG_LOCAL4
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   209
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   210
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   211
LOG_LOCAL5
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   212
    ^ LOG_LOCAL5
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   213
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   214
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   215
LOG_LOCAL6
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   216
    ^ LOG_LOCAL6
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   217
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   218
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   219
LOG_LOCAL7
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   220
    ^ LOG_LOCAL7
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   221
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   222
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   223
LOG_LPR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   224
    ^ LOG_LPR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   225
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   226
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   227
LOG_MAIL
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   228
    ^ LOG_MAIL
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   229
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   230
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   231
LOG_NEWS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   232
    ^ LOG_NEWS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   233
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   234
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   235
LOG_SYSLOG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   236
    ^ LOG_SYSLOG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   237
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   238
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   239
LOG_USER
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   240
    ^ LOG_USER
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   241
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   242
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   243
LOG_UUCP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   244
    ^ LOG_UUCP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   245
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   246
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   247
!UnixSyslogInterface class methodsFor:'accessing-options'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   248
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   249
LOG_CONS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   250
    ^ LOG_CONS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   251
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   252
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   253
LOG_NDELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   254
    ^ LOG_NDELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   255
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   256
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   257
LOG_ODELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   258
    ^ LOG_ODELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   259
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   260
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   261
LOG_PERROR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   262
    ^ LOG_PERROR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   263
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   264
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   265
LOG_PID
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   266
    ^ LOG_PID
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   267
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   268
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   269
!UnixSyslogInterface class methodsFor:'accessing-priorities'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   270
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   271
LOG_ALERT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   272
    ^ LOG_ALERT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   273
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   274
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   275
LOG_CRIT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   276
    ^ LOG_CRIT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   277
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   278
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   279
LOG_DEBUG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   280
    ^ LOG_DEBUG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   281
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   282
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   283
LOG_EMERG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   284
    ^ LOG_EMERG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   285
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   286
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   287
LOG_ERR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   288
    ^ LOG_ERR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   289
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   290
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   291
LOG_INFO
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   292
    ^ LOG_INFO
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   293
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   294
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   295
LOG_NOTICE
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   296
    ^ LOG_NOTICE
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   297
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   298
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   299
LOG_WARNING
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   300
    ^ LOG_WARNING
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   301
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   302
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   303
!UnixSyslogInterface class methodsFor:'api'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   304
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   305
apiSyslog:priority format:format message:message
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   306
    <cdecl: int 'syslog' (int char* char*) >
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   307
    ^ self primitiveFailed.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   308
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   309
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   310
        self openlog:'stx2' option:0 facility:self LOG_LOCAL7.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   311
        self syslog:self LOG_WARNING message:'stx %% demo'.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   312
        self closelog.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   313
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   314
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   315
    "Created: / 27-06-2018 / 23:11:57 / Stefan Vogel"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   316
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   317
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   318
closelog
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   319
    <cdecl: int 'closelog' (void) >
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   320
    ^ self primitiveFailed.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   321
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   322
    "Created: / 24-02-2018 / 13:35:20 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   323
    "Modified: / 24-02-2018 / 22:54:55 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   324
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   325
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   326
libraryName
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   327
    ^ 'libc.so.6'
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   328
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   329
    "Created: / 24-02-2018 / 13:39:49 / stefan"
23226
5bc095162d77 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23220
diff changeset
   330
    "Modified: / 22-07-2018 / 15:22:49 / Stefan Vogel"
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   331
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   332
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   333
openlog:ident option:option facility:facility
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   334
    <cdecl: int 'openlog' (char* int int) >
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   335
    ^ self primitiveFailed.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   336
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   337
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   338
        self new openlog:'stx' option:0 facility:0.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   339
        self new closelog.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   340
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   341
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   342
    "Created: / 24-02-2018 / 13:27:11 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   343
    "Modified: / 24-02-2018 / 22:55:01 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   344
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   345
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   346
!UnixSyslogInterface class methodsFor:'logging'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   347
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   348
syslog:priority message:message arguments:argArray
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   349
    self apiSyslog:priority format:'%s' message:(message bindWithArguments:argArray).
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   350
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   351
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   352
    "
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   353
        self openlog:'stx' option:0 facility:self LOG_USER.
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   354
        self syslog:self LOG_WARNING message:'%1 demo (%2%)' arguments:#('stx' 16).
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   355
        self closelog.
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   356
    "
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   357
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   358
    "Created: / 24-02-2018 / 23:16:05 / stefan"
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   359
    "Modified: / 27-06-2018 / 23:13:23 / Stefan Vogel"
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   360
! !
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   361
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   362
!UnixSyslogInterface class methodsFor:'private'!
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   363
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   364
basicLog:message severity:severity facility:facility originator:originator attachment:attachment
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   365
    |priority messageAsSent|
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   366
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   367
    priority := PriorityMapping at:severity ifAbsent:5.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   368
    messageAsSent := 
23151
0f2ee2d56903 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23147
diff changeset
   369
            '%1%2%3: %4'
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   370
                bindWith:(facility ? 'STX')
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   371
"/                with:'' "/ severity name
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   372
"/                with:'' "/ (Timestamp now printStringFormat:(self timestampFormat))
23151
0f2ee2d56903 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23147
diff changeset
   373
                with:(originator notEmptyOrNil ifTrue:'+' ifFalse:[''])
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   374
                with:originator
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   375
                with:message.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   376
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   377
    messageAsSent := messageAsSent string.  "take care of Texts"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   378
23464
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   379
    UseCommand isNil ifTrue:[
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   380
        "/ determine if a shell-command should be used, or if an FFI call can be used
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   381
        "/ if we have FFI support, we do not have to use the command.
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   382
        "/ No reference to ObjectFileLoader (in different package) here.
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   383
        "/ otherwise, standalone programs without libcomp will no longer work
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   384
        "/ (especially tests in stc/tests)
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   385
        UseCommand := [
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   386
                          self closelog. "/ an FFI-call
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   387
                          false.
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   388
                      ] on:(Error "PrimitiveFailure, ObjectFileLoader::ObjectFileLoadError") do:[
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   389
                          true.
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   390
                      ].
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   391
    ].
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   392
    
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   393
    UseCommand ifTrue:[
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   394
        "if we do not support FFI, use a comman interface"
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   395
        OperatingSystem 
25290
6cc4b317c2ab #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 24134
diff changeset
   396
            "/ --id doesn't work with RedHat 7.0
6cc4b317c2ab #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 24134
diff changeset
   397
            "/            executeCommand:('/usr/bin/logger --id=%1 -p %2.%3' 
23331
0bf0201d8ac0 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23326
diff changeset
   398
            executeCommand:('/usr/bin/logger -p %2.%3' 
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   399
                             bindWith:OperatingSystem getProcessId 
25290
6cc4b317c2ab #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 24134
diff changeset
   400
                                 with:DefaultSyslogFacilityString 
6cc4b317c2ab #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 24134
diff changeset
   401
                                 with:(PriorityToStringMapping at:priority+1))
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   402
            inputFrom:messageAsSent readStream
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   403
            outputTo:nil
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   404
            errorTo:Transcript.
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   405
        ^ self.
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   406
    ].
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   407
23326
b1abe05f0398 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23226
diff changeset
   408
    messageAsSent containsNon7BitAscii ifTrue:[
b1abe05f0398 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23226
diff changeset
   409
        messageAsSent := OperatingSystem encodePath:messageAsSent.
b1abe05f0398 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23226
diff changeset
   410
    ].
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   411
    self apiSyslog:(priority bitOr:DefaultSyslogFacility) format:'%s' message:messageAsSent.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   412
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   413
    "
25290
6cc4b317c2ab #DOCUMENTATION by exept
Claus Gittinger <cg@exept.de>
parents: 24134
diff changeset
   414
        self warning:'%1 warning demo » (%2%)' with:'stx' with:16.
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   415
        self fatal:'%1 fatal demo (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   416
        self closelog.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   417
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   418
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   419
    "Created: / 28-06-2018 / 11:08:04 / Stefan Vogel"
23331
0bf0201d8ac0 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23326
diff changeset
   420
    "Modified: / 12-09-2018 / 12:31:13 / Stefan Vogel"
23464
df4a38b0c657 #BUGFIX by cg
Claus Gittinger <cg@exept.de>
parents: 23331
diff changeset
   421
    "Modified: / 24-10-2018 / 19:39:05 / Claus Gittinger"
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   422
! !
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   423
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   424
!UnixSyslogInterface class methodsFor:'queries'!
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   425
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   426
canLog
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   427
    ^ true
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   428
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   429
    "Created: / 28-06-2018 / 11:55:46 / Stefan Vogel"
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   430
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   431
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   432
!UnixSyslogInterface class methodsFor:'documentation'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   433
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   434
version
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   435
    ^ '$Header$'
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   436
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   437
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   438
version_CVS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   439
    ^ '$Header$'
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   440
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   441
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   442
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   443
UnixSyslogInterface initialize!