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