lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
阅读:1072回复:5

[劝学]Log4j<0000先生赶紧行动吧>

楼主#
更多 发布于:2005-09-01 12:02
Log4j:

首先是配置简单java project
现在来看log4j.propertise
#级别为DEBUG,二个输出端,分别为stdout,R
log4j.logger.helloappLogger=DEBUG, stdout, R

#控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n

#保存到helloappLoggerlog.txt日志中,大小为100KB
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=F:/code/eclipse/workspace/TestLo4j/log/helloappLoggerlog.txt
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n

java文件中用到日志
package com;
import org.apache.log4j.*;
public class TestLog4j {
    static Logger logger = Logger.getLogger("helloappLogger");
    public static void main(String[] args) {
//      PropertyConfigurator.configure("log4j.properties");
//      如果.properties在当前目录下可以省略,我放在项目根目录下,和com包同目录
        logger.debug("Debug ...");
        logger.info("Info ...");
        logger.warn("Warn ...");
        logger.error("Error ...");
    }
}

2.web project中配置log4j

还是先来看log4j.perproties

#级别为DEBUG,三个输出端,分别为stdout,FILE,R
log4j.logger.hello=DEBUG, stdout, FILE, R

#stdout是在控制台输出
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p (%F:%L) - %m%n

#保存在rolling_log_file.log日志中,appender是RollingFileAppender
#需要注意的是File=F:/code/...,不要写成\,这就一点害死我了
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=F:/code/eclipse/workspace/TestCvs/WebRoot/WEB-INF/rolling_log_file.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n

#保存在log_file.log日志中,appender是FileAppender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=F:/code/eclipse/workspace/TestCvs/WebRoot/WEB-INF/log_file.log
log4j.appender.FILE.Append=false
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy MMM dd HH:mm:ss} %-5p %c - %m%n

之后要把它加入serlet中,和服务器一起启动,方便其他程序使用

public class Log4jServlet extends HttpServlet {
    public void init() throws ServletException {
        ServletContext sct = getServletContext();
        System.out.println("[Log4j]: The Root Path: " + sct.getRealPath("/"));
        System.out.println("[Log4j]: InitServlet init start...");
        PropertyConfigurator.configure(sct.getRealPath("/")
              +getServletConfig().getInitParameter("propfile"));
        System.out.println("[Log4j]: InitServlet init over.");
    }
}

<servlet>
    <description>init log4j of servlet</description>
    <display-name>log4j servlet</display-name>
    <servlet-name>Log4jServlet</servlet-name>
    <servlet-class>com.testCvs.Log4jServlet</servlet-class>
    <init-param>
     <param-name>propfile</param-name>
     <param-value>/WEB-INF/log4j.properties</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

注:log4j.properties放在/WEB-INF下,servlet自动加载这个文件

无。
lijiannan_1981
著名写手
著名写手
  • 铜币15枚
  • 威望0点
  • 贡献值0点
1C#
发布于:2005-09-01 12:03
Re:[劝学]Log4j<0000先生赶紧行动吧>
你YA平时总问一些奇怪得问题导致牙疼
现在有这个东西就好了:p
无。
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
2C#
发布于:2005-09-01 12:13
Re:[劝学]Log4j<0000先生赶紧行动吧>
0000先生行动ing...
于是又出现了一个奇怪的问题。。。
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
0000
作家
作家
  • 铜币143枚
  • 威望34点
  • 贡献值1点
3C#
发布于:2006-01-02 17:22
Re:[劝学]Log4j<0000先生赶紧行动吧>
赫赫。。。
.--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
suchasplus
作家
作家
  • 铜币16枚
  • 威望11点
  • 贡献值1点
4C#
发布于:2006-01-02 18:12
Re:[劝学]Log4j<0000先生赶紧行动吧>
很多php的东西里面都有个模块叫log4php
是不是和这个同样的用途
The history of these days will be written in blood... By crushing the armies of our enemy, by seizing the weapons they thought to turn against us, we were fighting for our very existence!
北京小妞
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
5C#
发布于:2006-01-03 23:10
Re:[劝学]Log4j<0000先生赶紧行动吧>
what j8 thing?haha
[b] [color=#ff0036]Every breath you take Every move you make Every bond you break Every step you take I'll be watching you Every single day Every word you say Every game you play Every night you say I'll be watching you O can't you see You belong to me How my poor heart aches With every step you take Every move you make Every vow you break Every smile you fake Every claim you stake I'll be watching you[/color] [/b]
游客

返回顶部