0

嗨,我尝试使用 clojure contrib 进行日志记录,但无济于事。它的clojure 1.1

(ns com.class.main.service
 (:gen-class)
 (:require (clojure.contrib [logging :as log])))

(log/info "Hello world")

我已将 log4j.jar 文件放在我的 bin 中,并将 log4j.properties 放在与 log4j.jar 相同的目录中。

下面是 log4j.properties 配置

log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=H:\\log\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L -  %m%n*

我已经浏览了一些基本示例,尽管由于大多数使用带有 tool.logging 的较新版本而受到限制。

但下面是我用过的例子

https://github.com/macourtney/Conjure/wiki/How-to-use-logging & http://www.paullegato.com/blog/setting-clojure-log-level/ 帮助我获得了这么多的日志在 emacs 的控制台上打印出来,但我在任何地方都找不到日志文件。

4

2 回答 2

1

我看到评论者提到了优秀的tools.logging图书馆。clojure.contrib.*是不推荐使用的代码,而 Clojure 1.1 是古老的。您正在寻找的工具集(如果曾经存在的话)现在长期无人维护并且可能不受支持。

tools.logging如果您因为某些不幸的原因被 1.1 卡住,一种选择是向后移植到 Clojure 1.1。否则,您应该升级到 Clojure 1.5.1,然后您可以使用当前的库和 post-contrib 生态系统。

于 2013-12-04T21:03:20.147 回答
0

CLojure 日志记录具有三个选项 commons-logging、log4j-logging、java-logging,它根据文档规范根据可用性按顺序选择它们 。在查看我的源代码后,它显示相同,但​​是编译版本是一个完全不同的顺序,它从 java-logging 开始。所以我只是用ant重新编译了我的contrib以匹配我需要的顺序,因为我无法删除java-logging。

于 2014-01-09T13:34:22.480 回答