]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/logging/server/server.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / basis / logging / server / server.factor
index 1872bb0af2045b8646b6186d360d2cbb4319df7a..848ad5d40e8d160b8001d780c4ff3e7b189b5e74 100644 (file)
@@ -1,10 +1,10 @@
 ! Copyright (C) 2008 Slava Pestov.\r
 ! See http://factorcode.org/license.txt for BSD license.\r
-USING: namespaces kernel io calendar sequences io.files\r
-io.sockets continuations destructors prettyprint assocs\r
-math.parser words debugger math combinators\r
-concurrency.messaging threads arrays init math.ranges strings\r
-calendar.format io.encodings.utf8 ;\r
+USING: namespaces kernel io io.files io.pathnames io.directories\r
+io.encodings.utf8 calendar calendar.format sequences continuations\r
+destructors prettyprint assocs math.parser words debugger math\r
+combinators concurrency.messaging threads arrays init math.ranges\r
+strings ;\r
 IN: logging.server\r
 \r
 : log-root ( -- string )\r
@@ -28,7 +28,7 @@ SYMBOL: log-files
 \r
 : multiline-header ( -- string ) 20 CHAR: - <string> ; foldable\r
 \r
-: (write-message) ( msg name>> level multi? -- )\r
+: (write-message) ( msg word-name level multi? -- )\r
     [\r
         "[" write multiline-header write "] " write\r
     ] [\r
@@ -36,18 +36,19 @@ SYMBOL: log-files
     ] if\r
     write bl write ": " write print ;\r
 \r
-: write-message ( msg name>> level -- )\r
-    rot harvest {\r
-        { [ dup empty? ] [ 3drop ] }\r
-        { [ dup length 1 = ] [ first -rot f (write-message) ] }\r
+: write-message ( msg word-name level -- )\r
+    [ harvest ] 2dip {\r
+        { [ pick empty? ] [ 3drop ] }\r
+        { [ pick length 1 = ] [ [ first ] 2dip f (write-message) ] }\r
         [\r
-            [ first -rot f (write-message) ] 3keep\r
-            rest -rot [ t (write-message) ] 2curry each\r
+            [ [ first ] 2dip f (write-message) ]\r
+            [ [ rest ] 2dip [ t (write-message) ] 2curry each ]\r
+            3bi\r
         ]\r
     } cond ;\r
 \r
 : (log-message) ( msg -- )\r
-    #! msg: { msg name>> level service }\r
+    #! msg: { msg word-name level service }\r
     first4 log-stream [ write-message flush ] with-output-stream* ;\r
 \r
 : try-dispose ( stream -- )\r
@@ -62,7 +63,7 @@ SYMBOL: log-files
     dup values [ try-dispose ] each\r
     clear-assoc ;\r
 \r
-: keep-logs 10 ;\r
+CONSTANT: keep-logs 10\r
 \r
 : ?delete-file ( path -- )\r
     dup exists? [ delete-file ] [ drop ] if ;\r
@@ -73,7 +74,7 @@ SYMBOL: log-files
     over exists? [ move-file ] [ 2drop ] if ;\r
 \r
 : advance-log ( path n -- )\r
-    [ 1- log# ] 2keep log# ?move-file ;\r
+    [ 1 - log# ] 2keep log# ?move-file ;\r
 \r
 : rotate-log ( service -- )\r
     dup close-log\r