log4j appender error w Tomcacie
Jeśli taki błąd się wydarzy oto co trzeba zrobić:
3 rzeczy:
3 rzeczy:
- Servlet Log4jInit.java
- Plik log4j.lcf
- Adnotacja w web.xml
AD. 1:
- Servlet ma być umieszczony w folderze /src/main/[folder_z_klasami]
- Treść Servleta to:
package main.Excercises_web_app;import org.apache.log4j.PropertyConfigurator;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; public class Log4jInit extends HttpServlet { public void init() { String prefix = getServletContext().getRealPath("/"); String file = getInitParameter("log4j-init-file"); // if the log4j-init-file is not set, then no point in trying if(file != null) { PropertyConfigurator.configure(prefix+file); } } public void doGet(HttpServletRequest req, HttpServletResponse res) { } }
AD. 2:
- Plik o nazwie " log4j.lcf" trzeba umieścić w folderze: WEB-INF
- Treść pliku to:
log4j.rootLogger=INFO, R log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=${catalina.base}/logs/tomcat.log log4j.appender.R.MaxFileSize=10MB log4j.appender.R.MaxBackupIndex=10 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
AD. 3:
- I łącząca te pliki adnotacja w web.xml to:
<servlet>
<servlet-name>log4jInit</servlet-name>
<servlet-class>main.[folder_z_klasami].Log4jInit</servlet-class> <init-param>
<param-name>log4j-init-file</param-name>
<param-value>WEB-INF/log4j.lcf</param-value>
</init-param> <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>log4jInit</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
I po kłopocie ;)
To tyle ode mnie na dziś, zapraszam Cię do dzielenia się swoimi wrażeniami z tego posta, lub np. swoim dzisiejszym odkryciem np. w komentarzu :)
Komentarze
Prześlij komentarz