2012-09-08 100 views
0

我正在尝试在玻璃鱼内运行tinylog 3.1.2.2。首先,我将tinylog.jar复制到/glassfish3/glassfish/domains/domain1/lib。其次,我在domain1/config内部创建了tinylog.propertiestinylog.properties是这样的:在玻璃鱼内运行tinylog

tinylog.format={date}-[{class}:{method}:{line}]-{level}-{message} 
tinylog.writer=rollingfile 
tinylog.writer.filename=log.txt 
tinylog.writer.backups=5 
tinylog.writer.label=count 
tinylog.writer.policies=size: 10KB 

我的应用程序是这样一个简单的Web服务:

@WebService 
public class Calculator { 
    @WebMethod 
    public int sum(int a, int b) { 
     Logger.info("new request. a = {0}, b = {1}", a, b); 
     return a + b; 
    } 
} 

现在,当我跑了它的工作原理,并返回结果的Web服务。但是日志里面logs/server.log这样的:

[#|2012-09-08T14:15:03.801+0430|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=175;_ThreadName=Thread-2;|2012-09-08 14:15:03 [http-thread-pool-8080(1)] com.argengco.tiny.Calculator.sum() 
INFO: new request. a = 43, b = 7 
|#] 

因为tinylog写入日志默认和GlassFish标准输出标准输出重定向到javax.enterprise.system.std.com.sun.enterprise.server.logging记录仪,它似乎tinylog没有发现tinylog.properties。我在server.log中看不到任何权限错误,它告诉它无法打开tinylog.properties。谁能帮忙?

回答

1

如果/ glassfish3/GlassFish中/域/ domain1的是你的代码构建树的根(即它包含了COM /等等/等等),那么你需要:

1)将tinylog.properties文件该目录

2)呼叫PropertiesLoader.loadFromFile("config/tinylog.properties");

我试图找到自己的答案后,在您的问题就来了。在用一些调试消息(重要的讽刺!)重建源代码之后,我找出了答案。

在我的情况下,我有一个src/com/blah/blah目录结构。在这种情况下,tinylog.properties文件需要进入src /目录。