站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题如何在Tomcat中指定log文件的位置(使用log4j输出log信息)???

如何在Tomcat中指定log文件的位置(使用log4j输出log信息)???

摘要: 如何在Tomcat中指定log文件的位置(使用log4j输出log信息)???


我在一个struts工程中使用了log4j,发布在Tomcat上,但是启动Tomcat的时候总是无法指定log文件的位置。

如果这样指定的话,启动Tomcat时,总说找不到log文件。
log4j.appender.LOGFILE.File=log/shitingguanai.log

如果如下指定的话,
log4j.appender.LOGFILE.File=shitingguanai.log
这个log文件竟然跑到Tomcat的bin目录下面了。

哪位能给解释下原因,或者告诉我怎么才能把log文件指定到log文件夹下 ?

log文件位于 webapps/myapp/log




log4j.properties文件如下:

# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, LOGFILE

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE.File=shitingguanai.log
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %m%n

log4j.logger.cn.dlyg=INFO


没有人知道么


是呀,这个问题我也遇到了,最后我直接写了真实路径..........
期待更好的解决方...........谢谢


log4j.appender.LOGFILE.File的路径默认就是Tomcat的bin

想修改到其它目录而又不想用绝对路径的话,就使用相对路径。

比如,你如果想设置为Tomcat目录下的LOG目录,就用
og4j.appender.LOGFILE.File=../LOG/shitingguanai.log



我想把log输出到我的应用下的log目录中,如下设置了路径:
log4j.appender.LOGFILE.File=../webapps/onlinehome/log/shitingguanai.log

但是不行啊,同志,它还是打到bin目录下了,不过文件名叫作“..webappsonlinehomelogshitingguanai.log”

我ft了!!!

还有,log4j.properties的位置,有规定么?必须放到src下么?


谢谢指教!


修改CONF文件夹下的logging配置文件

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4admin.org.apache.juli.FileHandler.level = FINE
4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4admin.org.apache.juli.FileHandler.prefix = admin.

5host-manager.org.apache.juli.FileHandler.level = FINE
5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5host-manager.org.apache.juli.FileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

把这里的输出目录全部改掉就OK了


C:/Tomcat 5.0/conf
文件夹下没有叫做logging的文件啊?!?!


logging.properties 文件


只有catalina.properties和jk2.properties,没有logging.properties
要自己建一个么??


吼吼 。。。 。。。

不好使啊!!!


package test;

import java.sql.*;

public class test
{
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sConnStr="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=bookshop";
String user = "sa";
String password = "123456";
Connection conn=null;
ResultSet rs=null;

public test()
{
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("错误是: personbean():"+e.getMessage());
}
}


//首页显示所有的记录,查询所有的数据;
public ResultSet executeQuery_FindAll()
{
String sql_FindAll="select id,title,name,body from body";
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr,user,password);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql_FindAll);
}

catch(SQLException ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}
:com.microsoft.jdbc.sqlserver.SQLServerDriver
No suitable driver
这两项都报了错
我怀疑可能是SQL SERVER的驱动没装好
但是在JSP里面又可以用

请高手帮忙看看 谢谢


把配置文件改成

log4j.rootLogger=info, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=D:/Tomcat 5.0/logs/log4j.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

试试看吧


把你的SQL SERVER的驱动方到Tomcat下的common/lib目录下试试,如果不行在把驱动加到CLASSPATH中


也不好用,这回连log都没有。

我以前也试过绝对路径,也不行。



吼吼。。。。


../webapps/onlinehome/log/shitingguanai.log


我记得我这样试过一次,不好用的。今天又试了一天,竟然成功了!!

我FT!!!

anyway, 3Q!!!



还有个问题:
log4j.properties文件的位置怎么指定啊?
必须放在src目录下么?


吼吼。。。。。。


web.xml 添加一下初始化的Servlet如下:

Init

cn.dapei.common.config.InitServlet


log4j
/WEB-INF/conf/log4j.properties


↑返回目录
前一篇: 弱弱地问一下:j2ee规范在sun网站哪儿?
后一篇: 在jBuilder x中如何打包Bean文件