♣
一个关于log4j的小问题.....
小弟第一次用log4j日志器,在struts项目里想打出日志内容到一个指定文件,配置如下:
log4j.rootlogger=info,console,file
log4j.appender.console=org.apache.log4j.consoleappender
log4j.appender.file=org.apache.log4j.rollingfileappender
log4j.appender.file.file=log.txt
log4j.appender.console.layout=org.apache.log4j.simplelayout
log4j.appender.file.layout=org.apache.log4j.patternlayout
logrj.appender.file.layout.conversionpattern=%t %p - %m%n
1 请问生成的日志文件在什么地方?(书上说在web-inf目录下,可是找不到)
2 如何指定日志生成目录?
· 网友精彩回答:
log4j.appender.file.file=log.txt
你这样的定义已经把你的日志文件输出到%tomcat_home%/bin目录里面了
建议直接使用绝对路径
log4j.appender.file.file=c:\\log.txt
给你一个例子 ,在与elipse平级建立applog,在applog下建立logconfig,logdata,在logconfig下建立log4j.properties
log4j.properties
#log4j.rootlogger=[priority],appendername,appendername,...
#其中,priority是日志级别,可选值包括off、fatal、error、warn、info、debug、trace、all
#在这里定义了info级别,则应用程序中所有debug、trace、all级别的日志消息将不被打印出来
#appendername指定appender组件,用户可以同时指定多个appender组件
#log4j提供的appender有以下几种:
#org.apache.log4j.consoleappender:控制台
#org.apache.log4j.fileappender:文件
#org.apache.log4j.dailyrollingfileappender:每天产生一个日志文件
#org.apache.log4j.rollingfileappender:文件大小到达指定尺寸的时候产生一个新的文件
#log4j提供的layout有以下几种
# org.apache.log4j.htmllayout (以html表格形式布局)
# org.apache.log4j.patternlayout (可以灵活地指定布局模式)
# org.apache.log4j.simplelayout (包含日志信息的级别和信息字符串)
# org.apache.log4j.ttcclayout (包含日志产生的时间、线程和类别等信息)
#conversionpattern格式
# %d --产生日志的时间
# %r --自程序开始后消耗的毫秒数
# %t --表示日志记录请求生成的线程
# %p --表示日志语句的优先级别
# %r --与日志请求相关的类别名称
# %c --日志消息所在的类名
# %m%n--表示日志消息的内容
#设置成根目录,所有包括debug以上级别的信息都打印出来到日志文件中
#log4j.rootlogger=debug,stdout
#设置为debug,表示只能打印出debug级别的信息,如果不想打印,就把debug级别调高
#printdebuginfo 关联到程序
log4j.logger.printdebuginfo=debug,d,c
#该行可屏蔽终端输出和终止debug输出到文件(记住要屏蔽记录输出到终端的全部三行)
#log4j.logger.printdebuginfo=info,d,c
#设置成info,表示只能打印出info级别的信息,如果不想打印,就把info级别调高
log4j.logger.printoperateinfo=info,i
#把该行屏蔽,即可终止记录用户所有操作
#log4j.logger.printoperateinfo=info,i
#设置成error,表示只能打印出error级别的信息,如果不想打印,就把error级别调高
log4j.logger.printerrorinfo =error,e
#把该行屏蔽,即可终止记录用户所有操作
#log4j.logger.printerrorinfo =info,e
#e(error) 记录所有错误
#i(info) 记录用户所有操作
#d(debug) 记录调试信息
#记录输出到终端
log4j.appender.c=org.apache.log4j.consoleappender
log4j.appender.c.layout=org.apache.log4j.patternlayout
log4j.appender.c.layout.conversionpattern=[%d{yyyy-mm-dd hh:mm:ss}]%m%n
#===========记录调试信息========================================
#记录输出到文件
log4j.appender.d=org.apache.log4j.rollingfileappender
log4j.appender.d.maxfilesize=100kb
log4j.appender.d.maxbackupindex=1
#如果直接调用文件的缺省目录是context目录;如果在tomcat中调用缺省目录是context的上级目录或者tomcat\bin目录
log4j.appender.d.file=..\\applog\\logdata\\debug_log
log4j.appender.d.append=true
log4j.appender.d.layout=org.apache.log4j.patternlayout
log4j.appender.d.layout.conversionpattern=[%d{yyyy-mm-dd hh:mm:ss}]%m%n
#===========记录用户所有操作(每天产生一个日志文件)=======================
log4j.appender.i=org.apache.log4j.dailyrollingfileappender
log4j.appender.i.file=..\\applog\\logdata\\info_log
log4j.appender.i.append=true
#log4j.appender.i.threshold=info
log4j.appender.i.datepattern = .yyyy-mm-dd
log4j.appender.i.layout=org.apache.log4j.patternlayout
log4j.appender.i.layout.conversionpattern=[%d{yyyy-mm-dd hh:mm:ss}]%m%n
#===========记录所有错误(文件大小到达指定尺寸的时候产生一个新的文件)========
log4j.appender.e=org.apache.log4j.rollingfileappender
#日志文件的大小
log4j.appender.e.maxfilesize=100kb
# 保存一个备份文件
log4j.appender.e.maxbackupindex=1
#日志文件的名称
log4j.appender.e.file=..\\applog\\logdata\\error_log
log4j.appender.e.append=true
#log4j.appender.e.threshold=error
#设置输出格式
log4j.appender.e.layout=org.apache.log4j.patternlayout
log4j.appender.e.layout.conversionpattern=[%d{yyyy-mm-dd hh:mm:ss}]%m%n
log.java
/*
* created on 2005-7-6
*
* todo to change the template for this generated file go to
* window - preferences - java - code style - code templates
*/
package com.wellhead.netmanage.util;
import org.apache.log4j.*;
import java.util.*;
/**
* @author administrator
*
* todo to change the template for this generated type comment go to
* window - preferences - java - code style - code templates
*/
public class log {
private static logger printdebuglog=logger.getlogger("printdebuginfo");
private static logger printoperatelog=logger.getlogger("printoperateinfo");
private static logger printerrorlog=logger.getlogger("printerrorinfo");
static {
string configurefile = system.getproperties().getproperty("user.dir")+"\\..\\applog\\logconfig\\"+"log4j.properties" ;
propertyconfigurator.configure(configurefile);
}
public static void printdebug(string message)
{
printdebuglog.debug(message);
}
public static void printinfo(string message)
{
printoperatelog.info(message);
}
public static void printerror(string message)
{
printerrorlog.debug(message);
}
public static void main(string[] args) {
log.printdebug("aaaaaaaaa");
}
}
- 更多问题:
- · treeview 和toolbar控件在哪里?
- · 简单函数语法问题。请教!
- · 广州,一个地址,请给出公司名.100分相送.
- · 准备用VC写一个Excel的插件, 给Excel添加一个工具条, 给个思路吧, 高手进!
- · 网站推广工具软件???
- · 中国经济的一点数字,吓死你没商量!!!
- · 如何设置VS2005的MENU控件样式,让MENU菜单更好看?
- · 关于公共厕所改为双向收费[转帖]
- · 请各位求翻译以下文章,小弟在此深表感谢!
- · 急切请大家帮我
- · 通往高手之路,新鸟老鸟必看,刻录机导致2003不能关机!!!强烈推荐
- · 【100分求助,24小时结贴】关于音箱的安装问题。今天刚买回来的音箱。【急等:有问题马上要去换】
- · 网页链接的exe文件怎么做?
- · 请问JS如何监听键盘事件?
- · 看QUICKSTART 里的个人门户里的代码谁能说说这段代码什么意思啊?
- · 水晶报表部署的问题。头大的都快爆了
- · windows专题
- · xp系统专题 | xp
- · 系统优化
- · 优化提速篇
- · 加密与解密 | 加密
- · 远程控制技术
- · 分布式处理
- · 电源ic
- · ic卡系统
- · oracle database
- · mysql database
- · lan共享
- · 制作iso文件
- · ssl webservice
- · 分布式网络
- · 分布式数据库应用
- · 使用汇编写进注册表启动的简单例子
- · 禁用注册表有什么用处
- · 注册表在哪
- · 电脑注册表损坏时出现的十种症状
- · 怎样修改注册表
- · 如何恢复注册表啊
- · 谁有注册表恢复工具?
- · windows安全策略包
- · 火狐浏览

