如何在Tomcat中指定log檔案的位置(使用log4j輸出log資訊)

來源:互聯網
上載者:User
我在一個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
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.