MiniLogger.st
branchjv
changeset 17860 be0b91ee8561
parent 17853 bad22156a42d
child 17861 4926106dfb9c
--- a/MiniLogger.st	Wed Sep 07 17:25:40 2011 +0100
+++ b/MiniLogger.st	Wed Sep 14 22:28:17 2011 +0100
@@ -13,7 +13,7 @@
 
 Object subclass:#MiniLogger
 	instanceVariableNames:''
-	classVariableNames:''
+	classVariableNames:'Instance'
 	poolDictionaries:''
 	category:'System-Debugging-Support'
 !
@@ -34,11 +34,86 @@
 "
 ! !
 
+!MiniLogger class methodsFor:'instance creation'!
+
+instance
+
+    Instance isNil ifTrue:[Instance := self basicNew].
+    ^Instance
+
+    "Created: / 14-09-2011 / 21:28:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+new
+
+    Logger log: 'Do not use MiniLogger new, use #instance instead' severity: #warn facility: 'STX'.
+    ^self instance
+
+    "Created: / 14-09-2011 / 21:27:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MiniLogger class methodsFor:'class initialization'!
+
+initialize
+
+    (Smalltalk at:#Logger) isNil ifTrue:[Smalltalk at:#Logger put: self instance].
+
+    "Created: / 01-09-2011 / 12:26:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!MiniLogger methodsFor:'logging'!
+
+log: message facility: facility
+
+    self log: message severity: #debug facility: facility
+
+    "Created: / 14-09-2011 / 21:22:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+log: message severity: severity facility: facility
+
+    self log: message severity: severity facility: facility originator: nil
+
+    "Created: / 14-09-2011 / 21:20:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+log: message severity: severity facility: facility originator: originator
+
+    self log: message severity: severity facility: facility originator: originator attachment: nil
+
+    "Created: / 14-09-2011 / 21:20:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+log: message severity: severity facility: facility originator: originator attachment: attachment
+
+    "Pricipal logging method. This mimics VM __stxLog__()"
+
+    Stderr 
+        nextPutAll: facility ? 'STX';
+        space;
+        nextPut:$[;
+        nextPutAll: severity;
+        nextPut:$];
+        space.
+
+    Stderr nextPut:$(.
+    Timestamp now printOn:Stderr format:'%(year)-%(mon)-%(day) %h:%m:%s'.
+    Stderr nextPut:$).
+    Stderr space.
+    Stderr nextPutAll: message.
+    Stderr cr.
+
+    "
+        Logger log:'test message' severity: #debug facility: 'TEST'
+    "
+
+    "Created: / 14-09-2011 / 21:18:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
 
 !MiniLogger class methodsFor:'documentation'!
 
 version_SVN
-    ^ '$Id: MiniLogger.st 10679 2011-09-01 11:20:36Z vranyj1 $'
+    ^ '$Id: MiniLogger.st 10687 2011-09-14 21:28:17Z vranyj1 $'
 ! !
 
 MiniLogger initialize!