]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix analysis for recent change
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Wed, 9 Jul 2008 22:03:16 +0000 (17:03 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Wed, 9 Jul 2008 22:03:16 +0000 (17:03 -0500)
extra/logging/analysis/analysis.factor

index 8f7f79d81e742e21c589918e291c0abd7b41ba37..1e1e31c501fc5d9ef87b057c20fae1dd4034417a 100755 (executable)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.\r
 USING: kernel sequences namespaces words assocs logging sorting\r
 prettyprint io io.styles io.files io.encodings.utf8\r
-strings combinators\r
+strings combinators accessors arrays\r
 logging.server logging.parser calendar.format ;\r
 IN: logging.analysis\r
 \r
@@ -12,11 +12,11 @@ SYMBOL: word-histogram
 SYMBOL: message-histogram\r
 \r
 : analyze-entry ( entry -- )\r
-    dup second ERROR eq? [ dup errors get push ] when\r
-    dup second CRITICAL eq? [ dup errors get push ] when\r
-    1 over third word-histogram get at+\r
-    dup third word-names get member? [\r
-        1 over rest message-histogram get at+\r
+    dup level>> { ERROR CRITICAL } memq? [ dup errors get push ] when\r
+    1 over word-name>> word-histogram get at+\r
+    dup word-name>> word-names get member? [\r
+        1 over [ level>> ] [ word-name>> ] [ message>> ] tri 3array\r
+        message-histogram get at+\r
     ] when\r
     drop ;\r
 \r
@@ -46,10 +46,10 @@ SYMBOL: message-histogram
 : log-entry. ( entry -- )\r
     "====== " write\r
     {\r
-        [ first (timestamp>string) bl ]\r
-        [ second pprint bl ]\r
-        [ third write nl ]\r
-        [ fourth "\n" join print ]\r
+        [ date>> (timestamp>string) bl ]\r
+        [ level>> pprint bl ]\r
+        [ word-name>> write nl ]\r
+        [ message>> "\n" join print ]\r
     } cleave ;\r
 \r
 : errors. ( errors -- )\r
@@ -59,7 +59,7 @@ SYMBOL: message-histogram
     "==== INTERESTING MESSAGES:" print nl\r
     "Total: " write dup values sum . nl\r
     [\r
-        dup second write ": " write third "\n" join write\r
+        dup level>> write ": " write message>> "\n" join write\r
     ] histogram.\r
     nl\r
     "==== WORDS:" print nl\r