log4j pattern详解_log4j不同的类输出到不同文件中

log4j pattern详解_log4j不同的类输出到不同文件中spring使用log4j,可以有2种方法。1、在web.xml里不做任何配置。log4j.properties放在classpath根目录下,这时候生成的日志文件就没有相对路径,如果写相对路径,则会生成在安装tomcat的根路径下。2、在web.xml设置。          log4jConfigLocation          WEB-INF/classes/log4j.propert

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

spring使用log4j,可以有2种方法。

1、在web.xml里不做任何配置。

log4j.properties放在classpath根目录下,

这时候生成的日志文件就没有相对路径,如果写相对路径,则会生成在安装tomcat的根路径下。

2、在web.xml设置。

<context-param>  
        <param-name>log4jConfigLocation</param-name>  
        <param-value>WEB-INF/classes/log4j.properties</param-value>  
</context-param>  
  
<context-param>  
        <param-name>webAppRootKey</param-name>  
        <param-value>myappfuse.root</param-value>  
</context-param>  
      
<listener>  
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
</listener>  
<listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
</listener>

打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:

%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,

log4j.rootLogger = INFO,stdout  这句中的INFO是设置了输出该级别以上的日志

INFO,WARN,ERROR,FATAL等消息都会输出。哪到底每条消息是哪个级别呢?%p就是输出该条消息的级别。

%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2011-10-18 22:10:28,921
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通常就是所在类的全名
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%: 输出一个”%”字符
%F: 输出日志消息产生时所在的文件名称
%L: 输出代码中的行号
%m: 输出代码中指定的消息,产生的日志具体信息
%n: 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行

可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-“号指定左对齐。
3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉

测试代码

import org.apache.log4j.Logger;
public class HelloLog4j {
 private static Logger logger = Logger.getLogger(HelloLog4j.class);
 /**
  * @param args
  */
 public static void main(String[] args) {
  // System.out.println("This is println message.");
  
  // 记录debug级别的信息
  logger.debug("This is debug message.");
  // 记录info级别的信息
  logger.info("This is info message.");
  // 记录error级别的信息
  logger.error("This is error message.");
 }
}

Log4j写入数据库详解

 http://blog.csdn.net/ziruobing/article/details/3919501

Log4j学习汇总—–配置详解

http://blog.csdn.net/meng2602956882/article/details/16951643

 

 

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1664101

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172106.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月22日 上午9:36
下一篇 2022年8月22日 上午9:36


相关推荐

  • virsh查看虚拟网络信息_vmware创建的虚拟机不见了

    virsh查看虚拟网络信息_vmware创建的虚拟机不见了virsh查询虚拟机列表。

    2022年8月12日
    8
  • 【TensorFlow】查看TensorFlow版本[通俗易懂]

    【TensorFlow】查看TensorFlow版本[通俗易懂]代码pythonimporttensorflowastftf.__version__ 

    2022年6月25日
    27
  • Elastic Job 入门详解

    Elastic Job 入门详解Elastic job是当当网架构师张亮,曹昊和江树建基于Zookepper、Quartz开发并开源的一个Java分布式定时任务,解决了Quartz不支持分布式的弊端。Elastic job主要的功能有支持弹性扩容,通过Zookepper集中管理和监控job,支持失效转移等,这些都是Quartz等其他定时任务无法比拟的。

    2022年6月17日
    35
  • Mac时钟屏保_屏保显示mac地址

    Mac时钟屏保_屏保显示mac地址实用兼美观,Fliqlo称得上是人气最高的屏保之一。翻页日历式的复古界面,结合了电子和机械的美感,下载地址:Fliqlo-TheFlipClockScreensaver

    2026年4月18日
    6
  • java大数据和python大数据的全面对比,哪个更主流?

    java大数据和python大数据的全面对比,哪个更主流?大数据是目前互联网流行的技术语言 处理大数据的编程语言比较有优势的也很多 比如 java python go R 语言 Hadoop 等等 按道理来说每种编程语言都可以处理大数据 只是处理的规模不一样而且 但是现在比较受欢迎的数据处理编程语言是 java 与 python java 大数据与 python 大数据说到 java 编程 java 工程师一直都是同行的高薪岗位 而 python 是从最初的 2016 人工智能开始爆发 从而在短短两年之内能赶超 java 随着 python 的发展 最大赢家无疑是 python 未来大数据是

    2026年3月26日
    2
  • vue如何生成二维码_vue实现扫描二维码

    vue如何生成二维码_vue实现扫描二维码这里介绍两种vue生成二维码的方法QRcodevue-qrvue-qr比QRcode功能多在可以在中间加logo下面先介绍QRcodevue里安装qrcodejs的npm包npminstallqrcodejs2importQRCodefrom‘qrcodejs2’methods:{creatQrCode(){varqrcode=newQRCode(t…

    2022年10月3日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号