如何在Tomcat中指定log文件的位置(使用log4j输出log信息)
2008-04-16 12:27
691 查看
我在一个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
如果这样指定的话,启动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
相关文章推荐
- 使用log4j的时候如何输出printStackTrace()的堆栈信息
- log4j自定义级别并将新级别日志信息输出到指定带日期格式的log文件
- 使用log4j的时候如何输出printStackTrace()的堆栈信息
- 使用log4j的时候如何输出printStackTrace()的堆栈信息
- log4j自定义级别并将新级别日志信息输出到指定带日期格式的log文件
- 配置log4j输出指定类中的日志信息到指定的位置
- tomcat日志配置,log信息如何输出到同一个文件
- 关于java web项目使用log4j / 当装了两个tomcat后,如何修改tomcat端口
- Tomcat配置log4j,输出控制台信息到日志.
- tomcat配置log4j打印输出日志到指定文件
- log4j将指定信息输出到指定文件
- 如何使用FastReport.Net在SAP NetWeaver中生成报表-第2部分:输出信息(打印文档)
- 使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,log4j和logj2,idea控制台信息乱码(文末)
- 如何将tomcat控制台输出的内容直播用日志文件保存起来(Log4j)
- log4j2的log输出到tomcat/logs目录下及使用
- Android 如何统一管理log日志,在发布版本时不输出任何日志信息。
- Android中使用log4j输出log内容到sd卡
- Activity生命周期及如何存活 用log日志信息打印输出
- 关于log4j的配置,控制台打印和错误信息输出到指定文件
- Android自定义Toast,指定Toast信息显示的位置并使用Toast显示其他View