log4j 文件输出
网络编程 2021-07-05 11:23www.168986.cn编程入门
写一个动态生成Properties(log4j.properties加载到内存中的形式)的类,指定,可实现动态修改任何东西!
======================
目录不可以创建,log文件是自动创建得呢
log4j.appender.R=.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\bea\user_projects\domain\log
==============================
你可以将log4j的配置信息写在一个文件中,比如sort.properties
然后利用servlet对log4j进行初始化,使它在服务器启动的时候就初始化了log4j。
至于你要随时修改日志输出目的地的话,只要修改配置文件中的log4j.appender.A2.File就行了
===================================
sort.properties 内容如下
#1 定义了两个输出端
log4j.rootLogger = debug, A1, A2
#2 定义A1输出到控制器
log4j.appender.A1 = .apache.log4j.ConsoleAppender
#3 定义A1的布局模式为PatternLayout
log4j.appender.A1.layout = .apache.log4j.PatternLayout
#4 定义A1的输出格式
log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %c - %m%n
#5 定义A2输出到文件
log4j.appender.A2 = .apache.log4j.RollingFileAppender
#6 定义A2要输出到哪一个文件
log4j.appender.A2.File = D:\\hello.log
#7 定义A2的输出文件的最大长度
log4j.appender.A2.MaxFileSize = 1KB
#8 定义A2的备份文件数
log4j.appender.A2.MaxBackupIndex = 3
#9 定义A2的布局模式为PatternLayout
log4j.appender.A2.layout = .apache.log4j.PatternLayout
#10 定义A2的输出格式
log4j.appender.A2.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
============================
初始化log4j的servlet代码如下
package .ctc.Init;
import javax.servlet.;
import javax.servlet.http.;
import java.io.;
import java.util.;
import .apache.log4j.;
public class Log4jInit extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public static Logger logger = Logger.getLogger(Log4jInit.class.getName());
//Initialize global variables
public void init() throws ServletException {
//通过web.xml来动态取得配置文件
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
// 如果没有给出相应的配置文件,则不进行初始化
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
////////////////////////////////////////////////////////////////
web.xml中的相关配置如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun./xml/ns/j2ee" xmlns:xsi="http://.w3./2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun./xml/ns/j2ee http://java.sun./xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>systemapp</display-name>
<servlet>
<servlet-name>Log4jInit</servlet-name>
<servlet-class>.ctc.Init.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>sort.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
======================
目录不可以创建,log文件是自动创建得呢
log4j.appender.R=.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\bea\user_projects\domain\log
==============================
你可以将log4j的配置信息写在一个文件中,比如sort.properties
然后利用servlet对log4j进行初始化,使它在服务器启动的时候就初始化了log4j。
至于你要随时修改日志输出目的地的话,只要修改配置文件中的log4j.appender.A2.File就行了
===================================
sort.properties 内容如下
#1 定义了两个输出端
log4j.rootLogger = debug, A1, A2
#2 定义A1输出到控制器
log4j.appender.A1 = .apache.log4j.ConsoleAppender
#3 定义A1的布局模式为PatternLayout
log4j.appender.A1.layout = .apache.log4j.PatternLayout
#4 定义A1的输出格式
log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %c - %m%n
#5 定义A2输出到文件
log4j.appender.A2 = .apache.log4j.RollingFileAppender
#6 定义A2要输出到哪一个文件
log4j.appender.A2.File = D:\\hello.log
#7 定义A2的输出文件的最大长度
log4j.appender.A2.MaxFileSize = 1KB
#8 定义A2的备份文件数
log4j.appender.A2.MaxBackupIndex = 3
#9 定义A2的布局模式为PatternLayout
log4j.appender.A2.layout = .apache.log4j.PatternLayout
#10 定义A2的输出格式
log4j.appender.A2.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
============================
初始化log4j的servlet代码如下
package .ctc.Init;
import javax.servlet.;
import javax.servlet.http.;
import java.io.;
import java.util.;
import .apache.log4j.;
public class Log4jInit extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public static Logger logger = Logger.getLogger(Log4jInit.class.getName());
//Initialize global variables
public void init() throws ServletException {
//通过web.xml来动态取得配置文件
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
// 如果没有给出相应的配置文件,则不进行初始化
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
////////////////////////////////////////////////////////////////
web.xml中的相关配置如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun./xml/ns/j2ee" xmlns:xsi="http://.w3./2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun./xml/ns/j2ee http://java.sun./xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>systemapp</display-name>
<servlet>
<servlet-name>Log4jInit</servlet-name>
<servlet-class>.ctc.Init.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>sort.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
上一篇:jsp生成静态页面的方法
下一篇:JSP生成静态页实践及其设计思想[转]
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程