web前端
数据库
编程语言
搜索技术
关于本站
登录
登 录
下次自动登录
学步园
返回顶部
查看留言
转到底部
现在的位置:
首页
> 综合 > 正文
RSS
log4j日志管理重要知识点备忘录
2018年05月21日
⁄ 综合
⁄ 共 4128字 ⁄ 字号
小
中
大
⁄
评论关闭
#ConversionPattern参数的格式含义
#格式名 含义
#%c 输出日志信息所属的类的全名
#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,
# 比如:%d{yyy-MM-dd HH:mm:ss },输出类似:
2002
-
10
-
18
-
22
:
10
:
28
#%F 输出日志信息所属的类的类名
#%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
#%m 输出代码中指定的信息,如log(message)中的message
#%n 输出一个回车换行符,Windows平台为“ ”,Unix平台为“ ”
#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出
# 的,则为DEBUG,依此类推
#%r 输出自应用启动到输出该日志信息所耗费的毫秒数
#%t 输出产生该日志事件的线程名
## LOGGERS ##
#这里只设置一个logger但是它有很多的appender
log4j.rootLogger
=
INFO
,
console
,
file
,
rollfile
,
dailyrollfile
## APPENDERS ##
# org.apache.log4j.ConsoleAppender 的写法
log4j.appender.console
=
org.apache.log4j.ConsoleAppender
log4j.appender.console.layout
=
org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern
=
%-40l
[
%c
]
:%p -%c- %m%n
# org.apache.log4j.FileAppender 的写法 append属性代表新的日志是否覆盖旧的
# 日志,一般来说当然不用去覆盖,设置为true
log4j.appender.file
=
org.apache.log4j.FileAppender
log4j.appender.file.append
=
true
log4j.appender.file.file
=
d:/logger.txt
log4j.appender.file.layout
=
org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern
=
%d{yyyy-MM-dd hh:mm:ss} %F
[
%c
]
:%p -%c- %m%n
# org.apache.log4j.RollingFileAppender 的写法 这个appender很实用,
# 有些日志文件使用过于频繁,会使文件变的很庞大,需要分割
# maxFileSize 可以写 KB MB GB 一般我们设置100MB就可以了
# maxBackupIndex 设置备份文件的数目,一般我们设置2个,加上在用的,也就是全部利用满
# 总是有3个日志文件,用的时候用1KB做个小实验就可以了
log4j.appender.rollfile
=
org.apache.log4j.RollingFileAppender
log4j.appender.rollfile.file
=
d:/rolllogger.txt
log4j.appender.rollfile.maxFileSize
=
1KB
log4j.appender.rollfile.maxBackupIndex
=
2
log4j.appender.rollfile.layout
=
org.apache.log4j.PatternLayout
log4j.appender.rollfile.layout.conversionPattern
=
%d{yyyy-MM-dd hh:mm:ss}
[
%c
]
:%p -%c- %m%n
# org.apache.log4j.DailyRollingFileAppender 的写法,这个是在上面的appender的基础上更改进了一步
# yyyy-MM,按月生成,生成时间为每月最后一天午夜过后,例如test.txt在2005年7月31日午夜过后会被更名为test.txt
.2005
-
07
,然后重新生成。
# yyyy-ww,按周生成,生成时间为每周六午夜过后,例如test.txt在2005年8月13日午夜过后会被更名为test.txt
.2005
-
33
,33表示当年第33周。
# yyyy-MM-dd,按天生成,生成时间为每天午夜过后,例如2005年8月16日午夜过后,test.txt会被更名为test.txt
.2005
-
08
-
16
。
# yyyy-MM-dd-a,也是按天生成,但每天会生成两次,中午12:00过后一次,午夜过后一次,例如test.txt在2005年8月16 日12:00过后会被更名为test.txt
.2005
-
8
-
16
-上午,午夜过后会被更名为test.txt
.2005
-
8
-
16
-下午。
# yyyy-MM-dd-HH,按小时生成,例如test.txt在2005年8月16日12:00过后会被更名为test.txt
.2005
-
8
-
16
-
11
。
# yyyy-MM-dd-HH-mm,按分钟生成,例如test.txt在2005年8月16日12:00过后会被更名为test.txt
.2005
-
8
-
16
-
11
-
59
。
log4j.appender.dailyrollfile
=
org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyrollfile.file
=
d:/dailyrolllogger.txt
log4j.appender.dailyrollfile.datePattern
=
yyyy-MM-dd-HH-mm
log4j.appender.dailyrollfile.layout
=
org.apache.log4j.PatternLayout
log4j.appender.dailyrollfile.layout.conversionPattern
=
%d{yyyy-MM-dd hh:mm:ss}
[
%c
]
:%p -%c- %m%n
log4j.logger.org.apache.struts2
=
DEBUG
log4j.logger.org.springframework
=
INFO
import
javax.servlet.ServletException;
import
javax.servlet.http.HttpServlet;
import
org.apache.log4j.PropertyConfigurator;
public
class
Log4jServlet
extends
HttpServlet
...
{
private
static
final
long
serialVersionUID
=
-
5101132572746345807L
;
//
Initialize global variables
public
void
init()
throws
ServletException
...
{
String prefix
=
this
.getServletContext().getRealPath(
"
/
"
);
String file
=
this
.getInitParameter(
"
log4j
"
);
System.out.println(
"
载入log4j配置文件
"
+
prefix
+
file);
if
(file
!=
null
)
...
{
PropertyConfigurator.configure(prefix
+
file);
}
}
//
Clean up resources
public
void
destroy()
...
{
}
}
<
servlet
>
<
servlet-name
>
log4j
</
servlet-name
>
<
servlet-class
>
hdu.management.library528.log4j.Log4jServlet
</
servlet-class
>
<
init-param
>
<
param-name
>
log4j
</
param-name
>
<
param-value
>
WEB-INFclasseslog4j.properties
</
param-value
>
</
init-param
>
<
load-on-startup
>
1
</
load-on-startup
>
</
servlet
>
import
org.apache.log4j.Logger;
import
com.opensymphony.xwork2.ActionSupport;
public
class
CommonAction
extends
ActionSupport
...
{
private
static
final
long
serialVersionUID
=
-
8805271658849961866L
;
private
static
final
Logger log
=
Logger.getLogger(CommonAction.
class
);
public
String execute()
...
{
log.debug(
"
这里是日志
"
);
return
"
success
"
;
}
}
自己总结了log4j的常用方法,直接可以使用,其他还有以socket、telnet、邮件等形式,用到了再查其他资料好了
返回
【上篇】
解决oracle8080端口问题
【下篇】
搞定Hibernate表与表之间的关联,搞懂cascade、inverse、lazy等属性
作者:
chatty
该日志由 chatty 于5年前发表在综合分类下,最后更新于 2018年05月21日.
转载请注明:
log4j日志管理重要知识点备忘录 | 学步园
+复制链接
抱歉!评论已关闭.
书签
招生
白云飘飘网
青岛房产网
最新文章New
网站优化可以收获更好的收益
robots在网页开发中起到了一定的
SEO引擎优化可以更好的方便搜索
Dreamweaver教程很实用,值得学习
很多的photoshop教程值得学习,你
编程语言很重要,特别是对于计算
数据库非常常见,也非常实用!
H5指的是第5代html,不同于传统企
HTML是什么,该怎么制作?
本站推荐
为什么PHP的吉祥物是一头大象
作业的提交和监控(二)
作业的提交和监控(一)
Boost – Function 分析
奇技淫巧 – C/C++ 宏自身
模板的 SFINAE 原则
Octopress 和 Git 的结合
Electric-fence 介绍