log4j 配置详解_指定log4j2配置文件位置

log4j 配置详解_指定log4j2配置文件位置先来个配置文件—-log4j.rootLogger=debug,stdout,logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.SimpleLayoutlog4j.appender.logfile=org.apache.log4j.FileAppender

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

Jetbrains全系列IDE稳定放心使用

先来个配置文件—-

log4j.rootLogger=debug,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=d:/msb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{ 
   yyyy-MM-dd   HH:mm:ss} %l %F %p %m%n

日志内容之外的要求—-
1,log4j的配置文件格式为 .properties,必须命名为
log4j.properties不然会读取配置文件失败;

2,标准格式时键值对来保存配置内容—-key=value;

3,习惯将log4j.properties文件放在根目录下,因为默认情况下, 查找 日志配置文件是在CLASSPATH中查找名为log4j.properties的文件。

日志内容要求——
log4j.rootLogger—–>表示日志记录的级别以及记录方式

log4j.rootLogger=debug,stdout,logfile—–>日志记录级别为debug,输出方式为两种stdout,logfile(两种方式需要自己指定;)

日志记录级别—-的优先级

  1. fatal:出现非常严重的错误事件,这些事件可能导致程序异常终止

  2. error:虽有错误,但允许应用程序继续运行

  3. warn:运行环境潜藏着危害

  4. info:报告信息

  5. debug:细粒度的信息事件,对应于程序的调试;

每种级别包含他之上的级别;
即输出级别error包含fatal, debug包含上述所有级别

log4j.appender.stdout =——-表示输出方式

log4j.appender.stdout=org.apache.log4j.ConsoleAppender ——->在控制台输出
log4j.appender.stdout.Target=System.err—->>>表示输出信息为系统error
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout—–>>表示输出格式为简单的格式

同理可以理解—-
log4j.appender.logfile=org.apache.log4j.FileAppender—->>输出位置在日志文件中
log4j.appender.logfile.File=d:/msb.log —–>>指定日志文件位置
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout—->>>输出格式—–指定格式
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n —–>>>定义指定的格式

log4j.properties语法:

##Define the root logger with appender X
log4j.rootLogger = DEBUG, X
##Set the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender
##Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n

log4j.appender.X.中只要保证X一致即可,并非一定要使用 stdout和logfile 不过见名知意是最好的;

不过日常使用中一般不自己写而是直接到官网找到相关配置文件复制粘贴,然后改改就可以自己用了;
将log4j.properties配置文件的输出记录到控制台。

log4j.rootLogger=debug,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

将log4j.properties配置文件的输出记录到日志文件。

log4j.rootLogger=debug,logfile
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=d:/msb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd   HH:mm:ss} %l %F %p %m%n

也可以同时记录,不过一般是按需所求,用户不需要看到某些错误信息,只给用户该看的就可以了;

再接触到xml之后,也可以用xml取完成配置文件—–

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/">
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
      <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
      </layout>
  </appender>
  <root>
    <level value="DEBUG" />
    <appender-ref ref="console" />
  </root>
</log4j:configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/">
 
  <appender name="file" class="org.apache.log4j.RollingFileAppender">
     <param name="append" value="false" />
     <param name="maxFileSize" value="10KB" />
     <param name="maxBackupIndex" value="5" />
     <!-- For Tomcat -->
     <param name="file" value="${catalina.home}/logs/my.log" />
     <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
     </layout>
  </appender>
 
  <root>
    <level value="ERROR" />
    <appender-ref ref="file" />
  </root>
 
</log4j:configuration>

最后整合一个标准的

# Root logger option
log4j.rootLogger=INFO, file, stdout
 
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\my.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
 
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="false" />
<param name="maxFileSize" value="10MB" />
<param name="maxBackupIndex" value="10" />
<param name="file" value="${catalina.home}/logs/my.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>
</log4j:configuration>

日志记录的方式——

package com.gavin;
import org.apache.log4j.Logger;
import java.io.IOException;
public class Test01 { 

public static void main(String[] args) throws IOException { 

//Logger logger = Logger.getLogger("com.gavin.Test01");//类的全路径名
Logger logger = Logger.getLogger(Test01.class);
logger.fatal("fatal");
logger.error("error");
logger.warn("warn");
logger.info("info");
//logger.debug("debug");
try { 

int result = 1 / 0;
} catch (Exception e) { 

logger.error("程序运算错误", e);
}
}
}

注—–以上内容仅供学习参考使用;

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187647.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • CUDA安装教程(超详细)

    CUDA安装教程(超详细)目录前言cuda的下载及安装cuda版本CUDAtoolkitDownloadcuda安装cuDNN下载及安装cuDNN下载cuDNN配置参考自前言windows10版本安装CUDA,首先需要下载两个安装包CUDAtoolkit(toolkit就是指工具包) cuDNN注:cuDNN是用于配置深度学习使用官方教程CUDA:InstallationGuideWindows::CUDAToolkitDocumentatio

  • 轻量级集群管理软件-ClusterShell「建议收藏」

    轻量级集群管理软件-ClusterShell「建议收藏」如果集群数量不多的话,选择一个轻量级的集群管理软件就显得非常有必要了。ClusterShell就是这样一种小的集群管理工具,原理是利用ssh,可以说是Linux系统下非常好用的运维工具cluster

  • C#获取进程的主窗口句柄「建议收藏」

    C#获取进程的主窗口句柄「建议收藏」publicclassUser32API{  privatestaticHashtableprocessWnd=null;  publicdelegateboolWNDENUMPROC(IntPtrhwnd,uintlParam);  staticUser32API()  {    if(processWnd==nu

  • Python抓取数据_python抓取游戏数据

    Python抓取数据_python抓取游戏数据前言本文整理自慕课网"《Python开发简单爬虫》",将会记录爬取百度百科“python”词条相关页面的整个过程。抓取策略确定目标:确定抓取哪个网站的哪些页面的哪部分数据

  • 当前页面的脚本发生错误如何解决_电脑出现当前页面脚本错误怎么办

    当前页面的脚本发生错误如何解决_电脑出现当前页面脚本错误怎么办第一种方法:可能是由于自己浏览器的版本太低造成的,将自己电脑的ie浏览器版本升级到ie最高版本。(我原先ie9,升级到ie11后,就不会出现这种现象)。第二种方法:1、打开默认浏览器,在“工具”选项中打开中打开“Internet设置”选项。(不同的浏览器Internet设置选项的位置不同,自己查找看看,一般在“工具”选项中可以直接看到)2、在Internet属性界面中,点击高级…

  • echarts标题字体大小_echarts饼图显示百分比

    echarts标题字体大小_echarts饼图显示百分比解决echarts饼图显示百分比,和显示内容字体及大小//基于准备好的dom,初始化echarts实例    varpieEchart=echarts.init(document.getElementById(‘pieEchart’));     //指定图表的配置项和数据     varpieoption={       ti…

发表回复

您的电子邮箱地址不会被公开。

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