MiniLogger.st
changeset 23671 bb9ad1ca0117
parent 23669 27c60ac0dcdb
child 24020 97395eb5a394
equal deleted inserted replaced
23670:12331a3a54a0 23671:bb9ad1ca0117
    74 
    74 
    75     for selective logging:
    75     for selective logging:
    76         Logger loggingThreshold: Logger severityALL.
    76         Logger loggingThreshold: Logger severityALL.
    77         Logger loggingThreshold: Logger severityINFO.
    77         Logger loggingThreshold: Logger severityINFO.
    78         Logger loggingThreshold: Logger severityNONE.
    78         Logger loggingThreshold: Logger severityNONE.
       
    79 
       
    80     ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE
    79 
    81 
    80     The following keywords are expanded in the message:
    82     The following keywords are expanded in the message:
    81         'LINE'      linenumber in the sending method
    83         'LINE'      linenumber in the sending method
    82         'RECEIVER'  printstring of receiver in sending context
    84         'RECEIVER'  printstring of receiver in sending context
    83         'CLASS'     class of receiver in sending context
    85         'CLASS'     class of receiver in sending context
   261 ! !
   263 ! !
   262 
   264 
   263 !MiniLogger class methodsFor:'accessing-severities'!
   265 !MiniLogger class methodsFor:'accessing-severities'!
   264 
   266 
   265 severities
   267 severities
       
   268     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   269     
   266     ^ Severities.
   270     ^ Severities.
       
   271 
       
   272     "Modified (comment): / 06-02-2019 / 18:17:15 / Claus Gittinger"
   267 !
   273 !
   268 
   274 
   269 severityDEBUG
   275 severityDEBUG
       
   276     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   277     
   270     ^ DEBUG
   278     ^ DEBUG
   271 
   279 
   272     "Created: / 13-08-2014 / 14:15:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   280     "Created: / 13-08-2014 / 14:15:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   281     "Modified (comment): / 06-02-2019 / 18:18:21 / Claus Gittinger"
   273 !
   282 !
   274 
   283 
   275 severityENTER
   284 severityENTER
       
   285     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   286 
   276     ^ ENTER
   287     ^ ENTER
   277 
   288 
   278     "Created: / 13-08-2014 / 14:14:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   289     "Created: / 13-08-2014 / 14:14:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   290     "Modified (comment): / 06-02-2019 / 18:18:24 / Claus Gittinger"
   279 !
   291 !
   280 
   292 
   281 severityERROR
   293 severityERROR
       
   294     "setting this as treshold will print errors"
       
   295     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   296 
   282     ^ ERROR
   297     ^ ERROR
   283 
   298 
   284     "Created: / 13-08-2014 / 14:15:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   299     "Created: / 13-08-2014 / 14:15:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   300     "Modified (comment): / 06-02-2019 / 18:18:30 / Claus Gittinger"
   285 !
   301 !
   286 
   302 
   287 severityFATAL
   303 severityFATAL
       
   304     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   305 
   288     ^ FATAL
   306     ^ FATAL
   289 
   307 
   290     "Created: / 13-08-2014 / 14:15:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   308     "Created: / 13-08-2014 / 14:15:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   309     "Modified (comment): / 06-02-2019 / 18:18:33 / Claus Gittinger"
   291 !
   310 !
   292 
   311 
   293 severityINFO
   312 severityINFO
       
   313     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   314 
   294     ^ INFO
   315     ^ INFO
   295 
   316 
   296     "Created: / 13-08-2014 / 14:15:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   317     "Created: / 13-08-2014 / 14:15:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   318     "Modified (comment): / 06-02-2019 / 18:18:37 / Claus Gittinger"
   297 !
   319 !
   298 
   320 
   299 severityLEAVE
   321 severityLEAVE
       
   322     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   323 
   300     ^ LEAVE
   324     ^ LEAVE
   301 
   325 
   302     "Created: / 13-08-2014 / 14:14:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   326     "Created: / 13-08-2014 / 14:14:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   327     "Modified (comment): / 06-02-2019 / 18:18:40 / Claus Gittinger"
   303 !
   328 !
   304 
   329 
   305 severityTRACE
   330 severityTRACE
       
   331     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   332 
   306     ^ TRACE
   333     ^ TRACE
   307 
   334 
   308     "Created: / 13-08-2014 / 14:15:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   335     "Created: / 13-08-2014 / 14:15:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   336     "Modified (comment): / 06-02-2019 / 18:18:43 / Claus Gittinger"
   309 !
   337 !
   310 
   338 
   311 severityTRACE0
   339 severityTRACE0
       
   340     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   341 
   312     ^ TRACE0
   342     ^ TRACE0
   313 
   343 
   314     "Created: / 13-08-2014 / 14:14:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   344     "Created: / 13-08-2014 / 14:14:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   345     "Modified (comment): / 06-02-2019 / 18:18:45 / Claus Gittinger"
   315 !
   346 !
   316 
   347 
   317 severityTRACE1
   348 severityTRACE1
       
   349     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   350 
   318     ^ TRACE1
   351     ^ TRACE1
   319 
   352 
   320     "Created: / 13-08-2014 / 14:14:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   353     "Created: / 13-08-2014 / 14:14:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   354     "Modified (format): / 06-02-2019 / 18:18:51 / Claus Gittinger"
   321 !
   355 !
   322 
   356 
   323 severityTRACE2
   357 severityTRACE2
       
   358     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   359 
   324     ^ TRACE2
   360     ^ TRACE2
   325 
   361 
   326     "Created: / 13-08-2014 / 14:14:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   362     "Created: / 13-08-2014 / 14:14:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   363     "Modified (comment): / 06-02-2019 / 18:18:54 / Claus Gittinger"
   327 !
   364 !
   328 
   365 
   329 severityTRACE3
   366 severityTRACE3
       
   367     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   368 
   330     ^ TRACE3
   369     ^ TRACE3
   331 
   370 
   332     "Created: / 13-08-2014 / 14:14:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   371     "Created: / 13-08-2014 / 14:14:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   372     "Modified (comment): / 06-02-2019 / 18:18:57 / Claus Gittinger"
   333 !
   373 !
   334 
   374 
   335 severityWARN
   375 severityWARN
       
   376     "setting this as treshold will print warnings and errors"
       
   377     "ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
       
   378 
   336     ^ WARN
   379     ^ WARN
   337 
   380 
   338     "Created: / 13-08-2014 / 14:15:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   381     "Created: / 13-08-2014 / 14:15:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   382     "Modified (comment): / 06-02-2019 / 18:19:01 / Claus Gittinger"
   339 ! !
   383 ! !
   340 
   384 
   341 !MiniLogger class methodsFor:'accessing-severities-special'!
   385 !MiniLogger class methodsFor:'accessing-severities-special'!
   342 
   386 
   343 severityALL
   387 severityALL
       
   388     "setting this as treshold will print all"
       
   389 
   344     ^ ALL
   390     ^ ALL
   345 
   391 
   346     "Created: / 13-08-2014 / 14:14:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   392     "Created: / 13-08-2014 / 14:14:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   393     "Modified (comment): / 06-02-2019 / 18:14:48 / Claus Gittinger"
   347 !
   394 !
   348 
   395 
   349 severityNONE
   396 severityNONE
       
   397     "setting this as treshold will suppress all logging"
       
   398     
   350     ^ NONE
   399     ^ NONE
   351 
   400 
   352     "Created: / 13-08-2014 / 14:15:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   401     "Created: / 13-08-2014 / 14:15:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   402     "Modified (comment): / 06-02-2019 / 18:14:40 / Claus Gittinger"
   353 ! !
   403 ! !
   354 
   404 
   355 !MiniLogger class methodsFor:'configuration'!
   405 !MiniLogger class methodsFor:'configuration'!
   356 
   406 
   357 loggingThreshold
   407 loggingThreshold
   376 
   426 
   377 loggingThreshold:severity 
   427 loggingThreshold:severity 
   378     "Sets logging threshold. 
   428     "Sets logging threshold. 
   379      All severities higher or equal to the given one will be logged.
   429      All severities higher or equal to the given one will be logged.
   380      Use `Logger severityNONE` to suppress logging completely 
   430      Use `Logger severityNONE` to suppress logging completely 
   381      or `Logger severityALL` to log all messages"
   431      or `Logger severityALL` to log all messages.
       
   432      ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
   382     
   433     
   383     (
   434     (
   384         (Severities includes:severity) 
   435         (Severities includes:severity) 
   385         or:[ severity == ALL or:[ severity == NONE ] ]
   436         or:[ severity == ALL or:[ severity == NONE ] ]
   386     ) ifFalse:[
   437     ) ifFalse:[
   401 
   452 
   402     "Created: / 13-08-2014 / 14:34:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   453     "Created: / 13-08-2014 / 14:34:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   403     "Modified: / 26-08-2014 / 08:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   454     "Modified: / 26-08-2014 / 08:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   404     "Modified (comment): / 09-10-2014 / 09:35:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   455     "Modified (comment): / 09-10-2014 / 09:35:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   405     "Modified (comment): / 01-03-2017 / 10:42:31 / cg"
   456     "Modified (comment): / 01-03-2017 / 10:42:31 / cg"
   406     "Modified (comment): / 06-02-2019 / 17:56:48 / Claus Gittinger"
   457     "Modified (comment): / 06-02-2019 / 18:17:57 / Claus Gittinger"
   407 !
   458 !
   408 
   459 
   409 loggingThreshold:aLimitOrNil forClass:aClass
   460 loggingThreshold:aLimitOrNil forClass:aClass
   410     "allows individual per-class setting of the threshold (useful during debugging).
   461     "allows individual per-class setting of the threshold (useful during debugging).
   411      With a nil limit, the default is reinstalled for that class."
   462      With a nil limit, the default is reinstalled for that class.
       
   463      ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
   412 
   464 
   413     "/ the original scheme asked the class;
   465     "/ the original scheme asked the class;
   414     "/ but that required adding a getter to debugged classes, which
   466     "/ but that required adding a getter to debugged classes, which
   415     "/ is easily forgotten and checked in.
   467     "/ is easily forgotten and checked in.
   416     "/ Better keep that nfo here, so wemight even provide a GUI for it some time in the future...
   468     "/ Better keep that nfo here, so wemight even provide a GUI for it some time in the future...
   441      Logger loggingThreshold:nil forClass:(Expecco::Browser).
   493      Logger loggingThreshold:nil forClass:(Expecco::Browser).
   442      Logger loggingThreshold:nil forPackage:'stx:libbasic'.
   494      Logger loggingThreshold:nil forPackage:'stx:libbasic'.
   443     "
   495     "
   444 
   496 
   445     "Created: / 01-03-2017 / 10:52:25 / cg"
   497     "Created: / 01-03-2017 / 10:52:25 / cg"
       
   498     "Modified (comment): / 06-02-2019 / 18:18:03 / Claus Gittinger"
   446 !
   499 !
   447 
   500 
   448 loggingThreshold:aLimitOrNil forPackage:aPackageName
   501 loggingThreshold:aLimitOrNil forPackage:aPackageName
   449     "allows individual per-package setting of the threshold (useful during debugging).
   502     "allows individual per-package setting of the threshold (useful during debugging).
   450      With a nil limit, the default is reinstalled for that class."
   503      With a nil limit, the default is reinstalled for that class.
       
   504      ALL > FATAL > ERROR > WARN > INFO > DEBUG > TRACE0 > TRACE3 > NONE"
   451 
   505 
   452     "/ the original scheme only asked the class;
   506     "/ the original scheme only asked the class;
   453     "/ but that required adding many getters to debugged packages, 
   507     "/ but that required adding many getters to debugged packages, 
   454     "/ which are easily forgotten and checked in.
   508     "/ which are easily forgotten and checked in.
   455     "/ Better keep that info here, so we might even provide a GUI for it some time in the future...
   509     "/ Better keep that info here, so we might even provide a GUI for it some time in the future...
   480      Logger loggingThreshold:nil forClass:(Expecco::Browser).
   534      Logger loggingThreshold:nil forClass:(Expecco::Browser).
   481      Logger loggingThreshold:nil forPackage:'stx:libbasic'.
   535      Logger loggingThreshold:nil forPackage:'stx:libbasic'.
   482     "
   536     "
   483 
   537 
   484     "Created: / 01-03-2017 / 10:53:42 / cg"
   538     "Created: / 01-03-2017 / 10:53:42 / cg"
       
   539     "Modified (comment): / 06-02-2019 / 18:18:07 / Claus Gittinger"
   485 ! !
   540 ! !
   486 
   541 
   487 !MiniLogger class methodsFor:'logging'!
   542 !MiniLogger class methodsFor:'logging'!
   488 
   543 
   489 log: message
   544 log: message
   551         "/ self log: 'using symbols as severity is deprecated, use Logger severityXXX to get severity object' severity: WARN facility: 'STX' originator: self.
   606         "/ self log: 'using symbols as severity is deprecated, use Logger severityXXX to get severity object' severity: WARN facility: 'STX' originator: self.
   552         "/ caller := thisContext sender.
   607         "/ caller := thisContext sender.
   553         "/ [ caller notNil and: [ caller receiver ~~ originator ] ] whileTrue:[ caller := caller sender ].
   608         "/ [ caller notNil and: [ caller receiver ~~ originator ] ] whileTrue:[ caller := caller sender ].
   554         "/ self log: 'caller is ', caller printString severity: INFO facility: 'STX' originator: self.
   609         "/ self log: 'caller is ', caller printString severity: INFO facility: 'STX' originator: self.
   555     ] ifFalse:[
   610     ] ifFalse:[
   556        "/ Now check whether the severity is one of the predefined ones,
   611         "/ Now check whether the severity is one of the predefined ones,
   557         "/ if not, issue an error
   612         "/ if not, issue an error
   558         (Severities includesIdentical:severityXlated) ifFalse:[ 
   613         (Severities includesIdentical:severityXlated) ifFalse:[ 
   559             | caller |
   614             | caller |
   560 
   615 
   561             caller := thisContext sender.
   616             caller := thisContext sender.
   652     "Created: / 14-09-2011 / 21:18:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   707     "Created: / 14-09-2011 / 21:18:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   653     "Modified: / 20-01-2015 / 18:40:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   708     "Modified: / 20-01-2015 / 18:40:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   654     "Modified: / 01-03-2017 / 11:15:46 / cg"
   709     "Modified: / 01-03-2017 / 11:15:46 / cg"
   655     "Modified: / 28-06-2018 / 11:15:42 / Stefan Vogel"
   710     "Modified: / 28-06-2018 / 11:15:42 / Stefan Vogel"
   656     "Modified: / 10-07-2018 / 00:16:35 / Claus Gittinger"
   711     "Modified: / 10-07-2018 / 00:16:35 / Claus Gittinger"
       
   712     "Modified (format): / 06-02-2019 / 18:12:24 / Claus Gittinger"
   657 !
   713 !
   658 
   714 
   659 log: message severity: severity originator: originator
   715 log: message severity: severity originator: originator
   660     self log: message severity: severity facility: (self facilityOf: originator) originator: originator
   716     self log: message severity: severity facility: (self facilityOf: originator) originator: originator
   661 
   717