参考博客:https://blog.csdn.net/sinat_30185177/article/details/73550377

log4j。。很简单好用的一个记录日志的东东,正因为好用,本人从来没有亲自配置过(都是别人在项目里面配好的,直接copy过来用),但是最近进了一家新公司,(或许因为某些原因)他们封装了一个日志工具类日志打印特定的信息,因为此项目以后由我接手,所以我做主就后来改了日志打印方式,原本代码如下:

此方式称之为方法一..

public class LogTool {

    public static void debugSysLog(String logtext) {
writeLog(logtext,"info");
System.out.println(logtext);
} static Logger log = Logger.getLogger(LogTool.class); public static void writeLog(String msg,String level){
if(level.equals("debug"))
log.debug(msg);
else if(level.equals("error"))
log.error(msg);
else if(level.equals("warn"))
log.warn(msg);
else
log.info(msg);
}
}

log4j.properties的代码:

log4j.rootLogger=INFO,logfile,stdout,DEBUG

#输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c]:%l - %m%n #log4j.appender.logfile=org.apache.log4j.FileAppender
#log4j.appender.logfile=org.apache.log4j.RollingFileAppender
#log4j.appender.logfile.MaxFileSize=1MB #输出到文件
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd log4j.appender.logfile.File=${catalina.home}/webapps/logs/invoice.log #log4j.appender.logfile.MaxBackupIndex=20
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p : %l - %m%n

上面的log4j配置文件我已经修改过了,原本的是不打印错误信息的,即下面的一些东东记一下就行了。
#%m   输出代码中指定的消息
#%p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
#%r   输出自应用启动到输出该log信息耗费的毫秒数
#%c   输出所属的类目,通常就是所在类的全名
#%t   输出产生该日志事件的线程名
#%n   输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
#%d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日  22:10:28
#%l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )

使用工具类打印的信息如上图红色部分(很整洁,漂亮,,有乱用??有一次项目报错空指针,都不知道哪里错的。。)

方法二:

使用同样的配置文件,在项目里面使用如下代码打印日志,会提示的很完整,且方法一能实现的方法二都可以实现..
Logger log = Logger.getLogger(InvoiceBuildServlet.class);

在catch里面用 log.error("error",e);

很简单。。

下面是配置文件源文件的下载地址

https://files.cnblogs.com/files/haopengchen/log4j.properties.zip

log4j详细配置的更多相关文章

  1. java日志框架log4j详细配置及与slf4j联合使用教程

    最后更新于2017年02月09日 一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” <d ...

  2. [转载]java日志框架log4j详细配置及与slf4j联合使用教程

    一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” 1 2 3 4 5 <dependen ...

  3. java日志框架log4j详细配置及与slf4j使用教程

    一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” 1 2 3 4 5 <dependen ...

  4. Log4j详细配置解释

    原文地址:https://www.cnblogs.com/godtrue/p/6444158.html log4j(七)——log4j.xml简单配置样例说明 一:测试环境与log4j(一)——为什么 ...

  5. log4j详细配置解析

    出自:http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录 ...

  6. springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置

    Log4j由三个重要的组件构成: 日志信息的优先级 日志信息的输出目的地 日志信息的输出格式 日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度 ...

  7. Log4j.properties配置详细解读

    Log4j.properties配置 Log4j有三个主要的组件:Loggers(记录器),Appenders  (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以 ...

  8. log4j.properties详细配置

    转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html ①配置根Logger,其语法为: #log4j.rootLogger = [level] ...

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

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

随机推荐

  1. [Swift]LeetCode8. 字符串转整数 (atoi) | String to Integer (atoi)

    Implement atoi which converts a string to an integer. The function first discards as many whitespace ...

  2. [Swift]LeetCode532. 数组中的K-diff数对 | K-diff Pairs in an Array

    Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in t ...

  3. [Swift]LeetCode649. Dota2 参议院 | Dota2 Senate

    In the world of Dota2, there are two parties: the Radiantand the Dire. The Dota2 senate consists of ...

  4. Linux自启动执行脚本方法

    1. 在/etc/rc.d/init.d/下创建脚本,要遵守service script的标准: 例如: vi /etc/rc.d/init.d/gfs #!/bin/bash#case " ...

  5. C# 当中 LINQ 的常规用法(Lambda 方式)

    仅以本篇博文记录 LINQ 相关操作的基本知识,原型参考自 MSDN 相关知识,中间加以自己的理解与 DEMO. 1. IEnuemrable<T>.Select() Select 方法比 ...

  6. 用sklearn封装的kmeans库

    由于需要海量的进行聚类,所以将 k-means 算法自我封装成一个方便利用的库,可以直接调用得到最优的 k值 和 中心点: #!/usr/bin/python3.4 # -*- coding: utf ...

  7. 【纯·技术干货】更 App 化的小程序开发

    2018 年 10 月13 日,由又拍云和知晓云联合主办的 Open Talk 丨2018 小程序开发者沙龙系列活动广州站拉开帷幕,糗事百科前端负责人宋航在沙龙上做了<更App化的小程序开发&g ...

  8. AspNetCore taghelpers标签的使用

    下面介绍几种常用的Tag标签 asp-for 类似于name asp-validation-for 类似于mvc下的验证,将的验证来源于model的验证特性 asp-validation-summar ...

  9. Docker实用技巧之更改软件包源提升构建速度

    一.开篇 地球,中国,成都市,某小区的阳台上,一青年负手而立,闭目沉思,阵阵的凉风吹得他衣衫呼呼的飘.忽然,他抬起头,刹那间,睁开了双眼,好似一到精光射向星空,只见这夜空......一颗星星都没有.他 ...

  10. 初学Java Web(2)——搭建Java Web开发环境

    虽然说 html 和 css 等前端技术,是对于 Web 来说不可或缺的技术,但是毕竟更为简单一些,所以就不详细介绍了,没有基础的同学可以去菜鸟教程或者W3school进行自主学习,最好的方式还是做一 ...