因为是刚开始使用log4j,很多配置方面的东西都不懂,记录下。

下面是我用STS(Spring Tool Suite)新建Spring MVC项目的时候,帮我自动生成的一个log4j.xml配置文件。

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender> <!-- Application Loggers -->
<logger name="com.shanshan.test">
<level value="info" />
</logger> <!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger> <logger name="org.springframework.beans">
<level value="info" />
</logger> <logger name="org.springframework.context">
<level value="info" />
</logger> <logger name="org.springframework.web">
<level value="info" />
</logger> <!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
</root> </log4j:configuration>

我要说的就是Appenders中的配置内容

输出方式:

org.apache.log4j.ConsoleAppender 控制台
org.apache.log4j.FileAppender 文件
org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件
org.apache.log4j.RollingFileAppender 文件大小到达指定尺寸的时候产生一个新的文件
org.apache.log4j.WriterAppender 将日志信息以流格式发送到任意指定的地方

PatternLayout配置:

配置

 说明   举例  
 %c   输出所属的类目,通常就是所在类的全名。后面还可以带一个十进制的参数,限制输出类目的层级,默认输出完整类目。  %c  org.apache.log4j.PatternLayout   
 %c{2}  log4j.PatternLayout  
 %C    调用logger的类的类目。后面还可以带一个十进制的参数,限制输出类目的层级,默认输出完整类目。  %C  org.apache.log4j.PatternLayout  处理较慢,谨慎使用 
 %C{1}  PatternLayout
 %d      输出日志记录的时间,后面可以带日期格式的参数,参数编码默认为ISO8601,日期格式参考SimpleDateFormat      %d  2017-04-18 09:23:56,561  
 %d{yyyy-MM-dd HH:mm:ss SSS}  2017-04-18 09:23:56 561  
 %d{ABSOLUTE}  09:23:56,561  
 %d{DATE}  18 四月 2017 09:23:56,561  
 %d{ISO8601}  2017-04-18 09:23:56,561  
%F   显示调用logger的源文件名    HomeController.java  处理较慢,谨慎使用
 %l  输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数    com.shanshan.bo.HomeController.border(HomeController.java:155)  
 %L  显示调用logger的代码行数      处理较慢,谨慎使用
 %m 输出代码中指定的信息       
 %M 显示调用logger的方法名    main  处理较慢,谨慎使用 
 %n  当前系统下的换行符      
 %p  显示该条日志的优先级    INFO  
 %r 显示从程序启动时到记录该条日志时已经经过的毫秒数       
 %t 输出产生该日志事件的线程名   tomcat-http--38   
 %x 按NDC(Nested Diagnostic Context,线程堆栈)顺序输出日志       
 %X 按MDC(Mapped Diagnostic Context,线程映射表)输出日志。通常用于多个客户端连接同一台服务器,方便服务器区分是那个客户端访问留下来的日志。       
 %% 输出一个百分号       

通用格式配置:

配置 对齐方式 最小长度 最大长度 说明
%20c right 20   若名字空间长度小于20,则左边用空格填充
%-20c left 20   若名字空间长度小于20,则右边用空格填充
%.30c     30 若名字空间长度超过30,截去多余字符
%20.30c right 20 30 若名字空间长度小于20,则左边用空格填充;若名字空间长度超过30,截去多余字符
%-20.30c left 20 30 若名字空间长度小于20,则右边用空格填充;若名字空间长度超过30,截去多余字符

log4j的Appenders配置的更多相关文章

  1. (转)log4j(六)——log4j.properties简单配置样例说明

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 (1)使用配文件的方式,是不是感觉非常的清爽,如果不在程序中读取配置文件就更加的清 ...

  2. Log4j – Configuring Log4j 2 - Log4j 2的配置

    Configuration Inserting log requests into the application code requires a fair amount of planning an ...

  3. Log4j 日志操作包配置详解

    log4j简介 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护 ...

  4. log4j日志基本配置

    Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松 ...

  5. log4j使用和配置详解

    日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录.以下是个人经验,具体请参考Log4j文档指南. Log4j下载 在apache网站:htt ...

  6. Activiti中的log4j(slf4j)的配置

    今天试了一下在Activiti中使用log4j来进行配置发现这个会出现问题,其实Activiti中的日志系统是采用的是slf4j而不是log4j 然后使用slf4j驱动log4j来做的 通过Proce ...

  7. Maven项目引入log4j的详细配置

    注:本文来源于 _xiaoxiong  <Maven项目引入log4j的详细配置> 引入log4j pom.xml <dependency> <groupId>lo ...

  8. Java log4j slf4j 日志配置笔记

    http://www.cnblogs.com/Scott007/p/3269018.html 日志的打印,在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender, ...

  9. Log4j1的使用与log4j.properties的配置

    这里介绍Log4j1(即Log4j 1.x版本),这里以普通的Java项目为例,用eclipse编写,项目结构如下图所示: 该项目主要包括: java文件:Log4jv1Util 以及 Log4jv1 ...

随机推荐

  1. Team Foundation Server 基本功能

    Team Foundation Server(以下简称TFS)作为Microsoft发布的一个主要用于团队源代码管理工具,以敏捷开发作为其最大的特点而占领部分市场.该文主要介绍 TFS 在 Visua ...

  2. jump堡垒机配置使用

    一.用户管理 1)添加用户 点击用户管理 —> 查看用户 —> 添加用户 输入要添加的用户名,姓名,权限,Mail,并且发送邮件 —> 保存 查看添加的用户 查看用户邮件 邮件中包含 ...

  3. STM32F103RC进入串口3接收中断产生HardFault_Hander问题解决!

    最近在以前的项目上添加串口3通讯后,程序一进入接收中断后就产生HardFault_Hander.串口3发送数据一切正常,当打开串口3接收功能时,程序就处于HardFault_Hander状态,而导致死 ...

  4. boost.asio源码阅读(1) - 从chat_server开始

    1. 关于示例代码 chat 先从简单的入手, 在如下路径:boost_1_63_0/libs/asio/example/cpp11/chat中找到chat_server.cpp 查看其成员, pri ...

  5. 用js控制css属性

    在用js控制css属性时,行内css属性可以任意控制,但若是在<style></style>中写的css属性,均不能用alert读取,但是赋值却有几种现象, 第一种:无法读取, ...

  6. ActiveMQ Part 1 : 基本安装配置(windows 版本)

    1. 安装启动服务 A) 首先下载并安装最新的 JDK(本文使用:jdk-8u66-windows-x64.exe) B) 从官网下载最新的安装包(本文下载版本为:http://activemq.ap ...

  7. 微服务--webapi实现,脱离iis,脱离tomcat

    前言 微服务,顾名思义就是微小的单一的服务程序,单一流程,单一发布,开发和部署都可独立: 这是我的理解: 但基于web的服务,不管是webservice还是webapi等类似的服务都需要基于iis或者 ...

  8. bootstrap-dialog插件的使用

    官网文档:http://nakupanda.github.io/bootstrap3-dialog BootstrapDialog.show({ message: 'Hi Apple!', messa ...

  9. Ceres Solver for android

        最近开发中,需要对图片做一些处理与线性技术,这时就用到了Ceres Solver.如何把Ceres Solver集成到Android里呢? 官网给了一个解决方案,简洁明了:   Downloa ...

  10. 数据库CAST()函数和CONVERT()函数比较

    对简单类型转换,CAST()函数和CONVERT()函数的效果一致,只是语法不同.前者更易使用,而后者的优势是格式化时间和数值.在以下这几种情况,二者一样: 1-1.SELECT CONVERT(de ...