log4j的使用(Idea中使用)

  • 1.新建一个maven项目
  • 2.打开项目中的pox.xml文件,添加内容:
<dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
</dependency>
  • 3.新建如图的文件



    文件中的内容如下:

#配置默认日志级别,和appenderName1;例如:log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
log4j.rootLogger = DEBUG,stdout,Info,Debug,Error

# 控制台输出DEBUG日志
# org.apache.log4j.ConsoleAppender 代表输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%5p]-[%t:%r]-[%l]-[%d]- - %m%n


### 输出DEBUG 到 to D://logs/debug.log ###
# org.apache.log4j.FileAppender 代表输出到文件
# org.apache.log4j.DailyRollingFileAppender 代表输出到文件,按日期分隔
log4j.appender.Info = org.apache.log4j.DailyRollingFileAppender
log4j.appender.Info.File = D://logs/debug.log

log4j.appender.Info.Append = true
log4j.appender.Info.Threshold = DEBUG
log4j.appender.Info.layout = org.apache.log4j.PatternLayout
log4j.appender.Info.layout.ConversionPattern = [%5p]-[%t:%r]-[%l]-[%d]- - %m%n

### 输出INFO到 D://logs/info.log ###
log4j.appender.Debug = org.apache.log4j.DailyRollingFileAppender
log4j.appender.Debug.File = D://logs/info.log

log4j.appender.Debug.Append = true
log4j.appender.Debug.Threshold = INFO
log4j.appender.Debug.layout = org.apache.log4j.PatternLayout
log4j.appender.Debug.layout.ConversionPattern = [%5p]-[%t:%r]-[%l]-[%d]- - %m%n

### 输出error到 D://logs/error.log ###
log4j.appender.Error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.Error.File =D://logs/error.log

log4j.appender.Error.Append = true
log4j.appender.Error.Threshold = ERROR
log4j.appender.Error.layout = org.apache.log4j.PatternLayout
log4j.appender.Error.layout.ConversionPattern = [%5p]-[%t:%r]-[%l]-[%d]- - %m%n

  • 4.下载安装log4j

-5.测试使用

import org.apache.log4j.Logger;
public class Demo{
    private static Logger logger = Logger.getLogger(Demo.class);
    public static void  main(String[] agrs) {
        logger.debug("test");
    }
}

再控制台和对应文件夹中查看日志

-6.日志格式化的通配符含义

转换字符 含义
c 用于输出日志事件的类别。例如,对于类别名称"a.b.c",模式%c{2}将输出"b.c"。
C 用于输出发出日志记录请求的调用方的全限定类名。例如,对于类名"org.apache.xyz.SomeClass",模式%C{1}将输出"SomeClass"。
d 用于输出记录事件的日期。例如,%d{HH:mm:ss,SSS}或%d{dd MMM yyyy HH:mm:ss,SSS}。
F 用于输出发出日志请求的文件名。
l 用于输出生成日志事件的呼叫者的位置信息。
L 用于输出发出记录请求的行号。
m 用于输出与日志记录事件关联的应用程序提供的消息。
M 用于输出发出记录请求的方法名称。
n 输出平台相关的行分隔符或多个字符。
p 用于输出日志事件的优先级。
r 用于输出从布局的构造到创建日志记录事件所经过的毫秒数。
t 用于输出生成日志事件的线程的名称。
x 用于输出与生成日志事件的线程关联的NDC(嵌套诊断上下文)。
X X转换字符后跟MDC的密钥。例如,X{clientIP}将根据密钥clientIP打印MDC中存储的信息。
% 文字百分号。%%将打印一个%符号。

格式修饰符

格式修饰符 左对齐 最小宽度 最大宽度 作用
%20c false 20 none 如果类别名称的长度少于20个字符,请在左侧填充空格。
%-20c true 20 none 如果类别名称的长度少于20个字符,请用空格右击。
%.30c NA none 30 如果类别名称超过30个字符,请从头开始截断。
%20.30c false 20 30 如果类别名称少于20个字符,请在左侧填充空格。但是,如果类别名称超过30个字符,则从头开始截断。
%-20.30c true 20 30 如果类别名称少于20个字符,请用空格右击。但是,如果类别名称超过30个字符,则从头开始截断。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 每一个Java程序员都知道日志对于任何一个Java应用程序,尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各...
    七弦桐语阅读 17,970评论 0 12
  • pom.xml的配置 配置项目管理文件 pom.xml。 配置log4j的配置文件 log4j2.xml。 实现相...
    yichen_china阅读 6,691评论 0 0
  • 昨天在学习Maven时,一个作业要求使用log4j来管理日志 pom.xml的配置 要使用log4j,首先在 po...
    柚子光谱阅读 14,444评论 2 2
  • 一、添加maven依赖 如果现有组件使用Log4j 1.x并且您希望将此日志记录路由到Log4j 2,则删除所有l...
    Vchar_Fred阅读 2,405评论 0 2
  • 本内容转载自该网站([林炳文Evankaka]原创作品。转载请注明出处http://blog.csdn.net/e...
    BETWEENAND阅读 4,583评论 0 0

友情链接更多精彩内容