Java 有人能告诉我如何使用log4j.properties文件吗?
我是log4j的新手。我有一个servletJava 有人能告诉我如何使用log4j.properties文件吗?,java,log4j,Java,Log4j,我是log4j的新手。我有一个servletLog4jInit,它在启动时加载 public class Log4jInit extends HttpServlet { private static final long serialVersionUID = 1L; public void init(ServletConfig config) { System.out.println("Log4J for entities initializing");
Log4jInit
,它在启动时加载
public class Log4jInit extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init(ServletConfig config) {
System.out.println("Log4J for entities initializing");
ServletContext context = getServletContext();
String log4jLocation = context.getInitParameter("log4jConfigLocation");
PropertyConfigurator.configure(log4jLocation);
}
}
我已经声明了我的web.xml
,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>com.zeomega.jiva_product_entities</display-name>
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.zeomega.jiva_product_entities.Log4jInit</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>${HOME}/Log4J/log4j.properties</param-value>
</context-param>
<servlet-mapping>
<servlet-name>standard-real-time</servlet-name>
<url-pattern>/restful/*</url-pattern>
</servlet-mapping>
</web-app>
请尝试从复制的以下过程:
export TOMCAT_OPTS="-Dlog4j.configuration=foobar.txt"
其中
foobar.txt
是配置文件的路径。请注意,如果您刚刚开始,如果您有选择,可能最好使用slf4j。这是由log4j的原作者重新设计的,具有更大的灵活性和更好的性能,您可以与使用log4j的现有代码集成。我不能这样做,因为它是现有的应用程序,我必须进行更改它是log4j版本1还是2?@LeosLiterak它的版本1何时发出此警告?你能找出它是在运行Log4jInit之前还是之后吗?好吧,你应该重新表述你的问题。目前是“有人能帮我知道如何在war之外导入log4j文件吗?”。并显示错误。
export TOMCAT_OPTS="-Dlog4j.configuration=foobar.txt"