MiniLogger.st
author Stefan Vogel <sv@exept.de>
Tue, 25 Feb 2014 14:25:28 +0100
changeset 16138 e571b7c6ed8d
parent 14881 28ba52b80aa7
child 16782 ee6003ea5c4e
child 18033 c90d8fdd805d
permissions -rw-r--r--
Add PackagLoadError, PackageNotFoundError
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     1
"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     2
 COPYRIGHT (c) 2006 by eXept Software AG
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     3
	      All Rights Reserved
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     4
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     5
 This software is furnished under a license and may be used
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    10
 hereby transferred.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    11
"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    13
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    14
Object subclass:#MiniLogger
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    15
	instanceVariableNames:''
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    16
	classVariableNames:'Instance'
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    17
	poolDictionaries:''
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    18
	category:'System-Debugging-Support'
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    19
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    20
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    21
!MiniLogger class methodsFor:'documentation'!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    22
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    23
copyright
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    24
"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    25
 COPYRIGHT (c) 2006 by eXept Software AG
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    26
	      All Rights Reserved
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    27
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    28
 This software is furnished under a license and may be used
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    33
 hereby transferred.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    34
"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    35
! !
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    36
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    37
!MiniLogger class methodsFor:'instance creation'!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    38
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    39
instance
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    40
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    41
    Instance isNil ifTrue:[Instance := self basicNew].
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    42
    ^Instance
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    43
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    44
    "Created: / 14-09-2011 / 21:28:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    45
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    46
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    47
new
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    48
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    49
    Logger log: 'Do not use MiniLogger new, use #instance instead' severity: #warn facility: 'STX'.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    50
    ^self instance
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    51
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    52
    "Created: / 14-09-2011 / 21:27:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    53
! !
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    54
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    55
!MiniLogger class methodsFor:'class initialization'!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    56
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    57
initialize
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    58
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    59
    (Smalltalk at:#Logger) isNil ifTrue:[Smalltalk at:#Logger put: self instance].
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    60
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    61
    "Created: / 01-09-2011 / 12:26:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    62
! !
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    63
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    64
!MiniLogger methodsFor:'logging'!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    65
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    66
facilityOf: originator
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    67
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    68
    ^originator class 
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    69
        perform: #logFacility
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    70
        ifNotUnderstood: [
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    71
            | pkg |
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    72
            pkg := originator class package.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    73
            (pkg startsWith: 'stx') ifTrue:[
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    74
                'STX'
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    75
            ] ifFalse:[
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    76
                pkg copyFrom: ((pkg lastIndexOf: $:) + 1)
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    77
            ]
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    78
        ]
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    79
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    80
    "
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    81
        Logger facilityOf: Object
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    82
        Logger facilityOf: Expecco::Browser
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    83
    "
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    84
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    85
    "Created: / 15-09-2011 / 10:20:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    86
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    87
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    88
log: message
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    89
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    90
    self log: message severity: #debug
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    91
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    92
    "Created: / 15-09-2011 / 10:27:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    93
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    94
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    95
log: message facility: facility
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    96
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    97
    self log: message severity: #debug facility: facility
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    98
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
    99
    "Created: / 14-09-2011 / 21:22:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   100
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   101
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   102
log: message severity: severity
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   103
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   104
    self log: message severity: #debug originator: thisContext sender receiver
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   105
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   106
    "Created: / 15-09-2011 / 10:25:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   107
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   108
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   109
log: message severity: severity attachment: attachment
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   110
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   111
    | originator |
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   112
    originator := thisContext sender receiver.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   113
14881
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   114
    self log: message severity: severity facility: (self facilityOf: originator) originator: originator attachment: attachment
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   115
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   116
    "Created: / 15-09-2011 / 11:47:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14881
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   117
    "Modified: / 15-03-2013 / 11:20:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   118
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   119
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   120
log: message severity: severity facility: facility
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   121
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   122
    self log: message severity: severity facility: facility originator: thisContext sender receiver
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   123
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   124
    "Created: / 14-09-2011 / 21:20:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   125
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   126
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   127
log: message severity: severity facility: facility originator: originator
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   128
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   129
    self log: message severity: severity facility: facility originator: originator attachment: nil
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   130
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   131
    "Created: / 14-09-2011 / 21:20:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   132
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   133
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   134
log: message severity: severity facility: facility originator: originator attachment: attachment
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   135
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   136
    "Pricipal logging method. This mimics VM __stxLog__()"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   137
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   138
    Stderr 
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   139
        nextPutAll: facility ? 'STX';
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   140
        space;
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   141
        nextPut:$[;
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   142
        nextPutAll: severity;
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   143
        nextPut:$];
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   144
        space.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   145
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   146
    Stderr nextPut:$(.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   147
    Timestamp now printOn:Stderr format:'%(year)-%(mon)-%(day) %h:%m:%s'.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   148
    Stderr nextPut:$).
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   149
    Stderr space.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   150
    Stderr nextPutAll: message.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   151
    Stderr cr.
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   152
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   153
    "
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   154
        Logger log:'test message' severity: #debug facility: 'TEST'
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   155
    "
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   156
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   157
    "Created: / 14-09-2011 / 21:18:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   158
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   159
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   160
log: message severity: severity originator: originator
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   161
14881
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   162
    self log: message severity: severity facility: (self facilityOf: originator) originator: originator
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   163
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   164
    "Created: / 15-09-2011 / 10:26:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
14881
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   165
    "Modified: / 15-03-2013 / 11:20:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   166
! !
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   167
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   168
!MiniLogger class methodsFor:'documentation'!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   169
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   170
version
14881
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   171
    ^ '$Header: /cvs/stx/stx/libbasic/MiniLogger.st,v 1.2 2013-03-15 11:21:39 vrany Exp $'
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   172
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   173
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   174
version_CVS
14881
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   175
    ^ '$Header: /cvs/stx/stx/libbasic/MiniLogger.st,v 1.2 2013-03-15 11:21:39 vrany Exp $'
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   176
!
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   177
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   178
version_HG
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   179
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   180
    ^ '§Changeset: <not expanded> §'
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   181
!
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   182
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   183
version_SVN
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   184
    ^ '§Id: MiniLogger.st 10688 2011-09-15 11:05:35Z vranyj1 §'
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   185
! !
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   186
14881
28ba52b80aa7 Bugfixes: log using specified severity.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13810
diff changeset
   187
13810
ce0b6a1fc5cb initial checkin
vrany
parents:
diff changeset
   188
MiniLogger initialize!