UnixSyslogInterface.st
author Stefan Vogel <sv@exept.de>
Sun, 22 Jul 2018 15:23:21 +0200
changeset 23226 5bc095162d77
parent 23220 6b814a812eb4
child 23326 b1abe05f0398
permissions -rw-r--r--
#BUGFIX by stefan class: UnixSyslogInterface class comment/format in: #libraryName changed: #initialize Fix for missing lib libc.so.6 (MacOS)
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
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    72
    self info:'%1 info demo » (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    73
    self warning:'%1 warning demo (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    74
    self error:'%1 error demo (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    75
    self fatal:'%1 fatal demo (%2%)' with:'stx' with:16.
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').
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   143
    UseCommand := [
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   144
                      "if we have FFI support, we do not have to use the command"  
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   145
                      self closelog.
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   146
                      false.
23226
5bc095162d77 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23220
diff changeset
   147
                  ] on:(PrimitiveFailure, ObjectFileLoader::ObjectFileLoadError) do:[
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   148
                      true.
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   149
                  ].
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
    "Created: / 24-02-2018 / 15:37:22 / stefan"
23226
5bc095162d77 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23220
diff changeset
   152
    "Modified: / 22-07-2018 / 15:21:01 / Stefan Vogel"
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   153
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   154
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   155
!UnixSyslogInterface class methodsFor:'accessing'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   156
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   157
defaultSyslogFacility
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   158
    ^ DefaultSyslogFacility
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   159
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   160
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   161
defaultSyslogFacility:anInteger
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   162
    "set the default facility of syslog (e.g. self LOG_LOCAL0).
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   163
     This is different from the Logger facility arg."
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   164
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   165
    DefaultSyslogFacility := anInteger.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   166
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   167
    "Modified (comment): / 28-06-2018 / 11:37:16 / Stefan Vogel"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   168
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   169
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   170
!UnixSyslogInterface class methodsFor:'accessing-facilities'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   171
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   172
LOG_AUTH
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   173
    ^ LOG_AUTH
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   174
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   175
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   176
LOG_AUTHPRIV
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   177
    ^ LOG_AUTHPRIV
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   178
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   179
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   180
LOG_CRON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   181
    ^ LOG_CRON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   182
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   183
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   184
LOG_DAEMON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   185
    ^ LOG_DAEMON
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   186
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   187
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   188
LOG_FTP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   189
    ^ LOG_FTP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   190
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   191
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   192
LOG_KERN
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   193
    ^ LOG_KERN
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   194
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   195
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   196
LOG_LOCAL0
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   197
    ^ LOG_LOCAL0
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   198
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   199
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   200
LOG_LOCAL1
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   201
    ^ LOG_LOCAL1
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   202
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   203
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   204
LOG_LOCAL2
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   205
    ^ LOG_LOCAL2
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   206
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   207
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   208
LOG_LOCAL3
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   209
    ^ LOG_LOCAL3
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   210
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   211
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   212
LOG_LOCAL4
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   213
    ^ LOG_LOCAL4
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   214
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   215
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   216
LOG_LOCAL5
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   217
    ^ LOG_LOCAL5
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   218
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   219
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   220
LOG_LOCAL6
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   221
    ^ LOG_LOCAL6
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   222
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   223
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   224
LOG_LOCAL7
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   225
    ^ LOG_LOCAL7
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   226
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   227
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   228
LOG_LPR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   229
    ^ LOG_LPR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   230
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   231
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   232
LOG_MAIL
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   233
    ^ LOG_MAIL
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   234
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   235
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   236
LOG_NEWS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   237
    ^ LOG_NEWS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   238
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   239
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   240
LOG_SYSLOG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   241
    ^ LOG_SYSLOG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   242
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   243
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   244
LOG_USER
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   245
    ^ LOG_USER
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   246
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   247
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   248
LOG_UUCP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   249
    ^ LOG_UUCP
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   250
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   251
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   252
!UnixSyslogInterface class methodsFor:'accessing-options'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   253
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   254
LOG_CONS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   255
    ^ LOG_CONS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   256
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   257
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   258
LOG_NDELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   259
    ^ LOG_NDELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   260
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   261
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   262
LOG_ODELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   263
    ^ LOG_ODELAY
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   264
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   265
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   266
LOG_PERROR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   267
    ^ LOG_PERROR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   268
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   269
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   270
LOG_PID
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   271
    ^ LOG_PID
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   272
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   273
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   274
!UnixSyslogInterface class methodsFor:'accessing-priorities'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   275
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   276
LOG_ALERT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   277
    ^ LOG_ALERT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   278
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   279
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   280
LOG_CRIT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   281
    ^ LOG_CRIT
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   282
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   283
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   284
LOG_DEBUG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   285
    ^ LOG_DEBUG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   286
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   287
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   288
LOG_EMERG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   289
    ^ LOG_EMERG
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   290
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   291
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   292
LOG_ERR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   293
    ^ LOG_ERR
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   294
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   295
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   296
LOG_INFO
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   297
    ^ LOG_INFO
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   298
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   299
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   300
LOG_NOTICE
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   301
    ^ LOG_NOTICE
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   302
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   303
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   304
LOG_WARNING
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   305
    ^ LOG_WARNING
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   306
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   307
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   308
!UnixSyslogInterface class methodsFor:'api'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   309
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   310
apiSyslog:priority format:format message:message
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   311
    <cdecl: int 'syslog' (int char* char*) >
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   312
    ^ self primitiveFailed.
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
        self openlog:'stx2' option:0 facility:self LOG_LOCAL7.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   316
        self syslog:self LOG_WARNING message:'stx %% demo'.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   317
        self closelog.
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
    "Created: / 27-06-2018 / 23:11:57 / Stefan Vogel"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   321
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   322
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   323
closelog
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   324
    <cdecl: int 'closelog' (void) >
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   325
    ^ self primitiveFailed.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   326
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   327
    "Created: / 24-02-2018 / 13:35:20 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   328
    "Modified: / 24-02-2018 / 22:54:55 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   329
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   330
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   331
libraryName
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   332
    ^ 'libc.so.6'
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   333
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   334
    "Created: / 24-02-2018 / 13:39:49 / stefan"
23226
5bc095162d77 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23220
diff changeset
   335
    "Modified: / 22-07-2018 / 15:22:49 / Stefan Vogel"
23139
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
openlog:ident option:option facility:facility
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   339
    <cdecl: int 'openlog' (char* int int) >
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   340
    ^ self primitiveFailed.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   341
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   342
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   343
        self new openlog:'stx' option:0 facility:0.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   344
        self new closelog.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   345
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   346
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   347
    "Created: / 24-02-2018 / 13:27:11 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   348
    "Modified: / 24-02-2018 / 22:55:01 / stefan"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   349
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   350
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   351
!UnixSyslogInterface class methodsFor:'logging'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   352
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   353
syslog:priority message:message arguments:argArray
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   354
    self apiSyslog:priority format:'%s' message:(message bindWithArguments:argArray).
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   355
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
        self openlog:'stx' option:0 facility:self LOG_USER.
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   359
        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
   360
        self closelog.
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
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   363
    "Created: / 24-02-2018 / 23:16:05 / stefan"
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   364
    "Modified: / 27-06-2018 / 23:13:23 / Stefan Vogel"
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   365
! !
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   366
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   367
!UnixSyslogInterface class methodsFor:'private'!
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   368
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   369
basicLog:message severity:severity facility:facility originator:originator attachment:attachment
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   370
    |priority messageAsSent|
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   371
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   372
    priority := PriorityMapping at:severity ifAbsent:5.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   373
    messageAsSent := 
23151
0f2ee2d56903 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23147
diff changeset
   374
            '%1%2%3: %4'
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   375
                bindWith:(facility ? 'STX')
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   376
"/                with:'' "/ severity name
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   377
"/                with:'' "/ (Timestamp now printStringFormat:(self timestampFormat))
23151
0f2ee2d56903 #BUGFIX by stefan
Stefan Vogel <sv@exept.de>
parents: 23147
diff changeset
   378
                with:(originator notEmptyOrNil ifTrue:'+' ifFalse:[''])
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   379
                with:originator
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   380
                with:message.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   381
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   382
    messageAsSent := messageAsSent string.  "take care of Texts"
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   383
    messageAsSent containsNon7BitAscii ifTrue:[
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   384
        messageAsSent := OperatingSystem encodePath:messageAsSent.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   385
    ].
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   386
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   387
    UseCommand ifTrue:[
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   388
        "if we do not support FFI, use a comman interface"
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   389
        OperatingSystem 
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   390
            executeCommand:('/usr/bin/logger --id=%1 -p %2.%3' 
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   391
                             bindWith:OperatingSystem getProcessId 
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   392
                                 with:DefaultSyslogFacilityString with:(PriorityToStringMapping at:priority+1))
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   393
            inputFrom:messageAsSent readStream
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   394
            outputTo:nil
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   395
            errorTo:Transcript.
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   396
        ^ self.
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   397
    ].
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   398
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   399
    self apiSyslog:(priority bitOr:DefaultSyslogFacility) format:'%s' message:messageAsSent.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   400
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   401
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   402
        self warning:'%1 warning demo » (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   403
        self fatal:'%1 fatal demo (%2%)' with:'stx' with:16.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   404
        self closelog.
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   405
    "
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   406
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   407
    "Created: / 28-06-2018 / 11:08:04 / Stefan Vogel"
23220
6b814a812eb4 #FEATURE by stefan
Stefan Vogel <sv@exept.de>
parents: 23151
diff changeset
   408
    "Modified (format): / 19-07-2018 / 11:37:21 / Stefan Vogel"
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   409
! !
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   410
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   411
!UnixSyslogInterface class methodsFor:'queries'!
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   412
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   413
canLog
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   414
    ^ true
23139
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   415
23147
65239d39db15 #REFACTORING by stefan
Stefan Vogel <sv@exept.de>
parents: 23139
diff changeset
   416
    "Created: / 28-06-2018 / 11:55:46 / Stefan Vogel"
23139
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
!UnixSyslogInterface class methodsFor:'documentation'!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   420
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   421
version
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   422
    ^ '$Header$'
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   423
!
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   424
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   425
version_CVS
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   426
    ^ '$Header$'
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   427
! !
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   428
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   429
09a88dd7a444 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   430
UnixSyslogInterface initialize!