记录下log4j的两种配置方式

XML文件配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'><!-- 输出到控制台 --><appender name="CONSOLE_APPENDER" class="org.apache.log4j.ConsoleAppender"><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" /></layout><!--过滤器设置输出的级别 --><filter class="org.apache.log4j.varia.LevelRangeFilter"><param name="levelMin" value="debug" /><param name="levelMax" value="warn" /><param name="AcceptOnMatch" value="true" /></filter></appender><!-- 系统执行日志 --><appender name="SYSTEM_APPENDER" class="org.apache.log4j.RollingFileAppender"><param name="File" value="${user.home}/logs/bingu/sys_run.log" /><!-- 设置日志输出文件名称 --><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><!-- 设置是否在又一次启动服务时。在原有日志的基础加入新日志 --><param name="Append" value="true" /><param name="MaxBackupIndex" value="10" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%p (%c:%L)- %m%n" /></layout></appender><logger name="SYSTEM" additivity="false"><priority value="debug" /><appender-ref ref="SYSTEM_APPENDER" /></logger><!-- error --><appender name="ERROR_APPENDER" class="org.apache.log4j.RollingFileAppender"><param name="File" value="${user.home}/logs/bingu/error.log" /><param name="Append" value="true" /><param name="Threshold" value="ERROR" /><param name="MaxFileSize" value="1024KB" /><param name="MaxBackupIndex" value="1" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d %-5p %l - %m%n" /></layout></appender><logger name="ERROR" additivity="false"><priority value="info" /><appender-ref ref="ERROR_APPENDER" /></logger><!-- 方法执行时间统计 --><appender name="ALL_METHODS_RUNTIME_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="File" value="${user.home}/logs/bingu/method_runtime.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" /></layout></appender><logger name="ALL_METHODS_RUNTIME" additivity="false"><priority value="info" /><appender-ref ref="ALL_METHODS_RUNTIME_APPENDER" /></logger><!-- web --><appender name="WEB_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/web.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.web" additivity="false"><level value="info" /><appender-ref ref="WEB_APPENDER" /></category><!-- service --><appender name="SERVICE_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/service.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.bll" additivity="false"><level value="info" /><appender-ref ref="SERVICE_APPENDER" /></category><!-- dao --><appender name="DAO_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/dao.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.dal" additivity="false"><level value="info" /><appender-ref ref="DAO_APPENDER" /></category><!-- util --><appender name="UTIL_APPENDER" class="org.apache.log4j.DailyRollingFileAppender"><param name="encoding" value="UTF-8" /><param name="File" value="${user.home}/logs/bingu/util.log" /><param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %t %5p [%c:%L] - %m%n" /></layout></appender><category name="com.bingu.util" additivity="false"><level value="info" /><appender-ref ref="UTIL_APPENDER" /></category><root><priority value="debug" /><appender-ref ref="CONSOLE_APPENDER" /><appender-ref ref="SYSTEM" /><appender-ref ref="ERROR" /></root></log4j:configuration>

.properties文件配置

log4j.rootLogger=info,file  log4j.appender.file=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.file.DatePattern='-'yyyy-MM-dd  
log4j.appender.file.File=logs/log.txt  
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout  
log4j.appender.file.layout.ConversionPattern=[%-5p] %d %37c %3x - %m%n log4j.logger.org.springframework.web.servlet.handler.SimpleMappingExceptionResolver=WARN

转载于:https://www.cnblogs.com/lytwajue/p/7201774.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371672.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java字符串与数组比较大小_java-如何将存储在数组中的字符串与简单字符串进行比较?...

我想比较数组中字符串形式的学生人数与人数n这是字符串。remarque&#xff1a;班级形成&#xff1a;私有字符串代码&#xff1b;私有字符串名称&#xff1b;private int nbsi 0;私人学生[]标签新学生[200]&#xff1b;班级学生&#xff1a;私有字符串号&#xff1b;私有字符串…

delphi用TAdoStoredProc调用存储过程,兼容sql2005、2008、2014的远程事务问题

delphi7写的程序&#xff0c;在sql2000里没问题&#xff0c;调用sql2008、2014里的存储过程时&#xff0c;如果存储过程里操作了大量数据&#xff0c;很容易会莫名其妙的自己撤销掉&#xff0c;但是程序还识别不到&#xff0c;认为还在正常执行。今天尝试换了个控件&#xff1a…

使用NoSQL实现实体服务–第3部分:CouchDB

在本系列的第2部分中 &#xff0c;我使用SOA的“合同优先”技术创建和部署了产品实体服务&#xff0c;现在&#xff0c;我将致力于服务实现的NoSQL数据库方面。 正如我在第1部分中已经提到的那样&#xff0c;我已经选择CouchDB作为我的NoSQL数据库&#xff0c;选择Ektorp库作为…

8、SpringCloud高频面试题-版本1

1、SpringCloud组件有哪些 SpringCloud 是一系列框架的有序集合。它利用 SpringBoot 的开发便利性巧妙地简化了分布式系统基础设施的开发&#xff0c;如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等&#xff0c;都可以用 SpringBoot 的开发风格做到一键启…

java对象不会被改变_Java 并发编程(二)对象的不变性和安全的公布对象

二、安全公布到眼下为止&#xff0c;我们重点讨论的是怎样确保对象不被公布&#xff0c;比如让对象封闭在线程或还有一个对象的内部。当然&#xff0c;在某些情况下我们希望在多个线程间共享对象&#xff0c;此时必须确保安全地进行共享。然而&#xff0c;假设仅仅是像以下程序…

nginx 上php不可写解决方法

在php.ini中设置的session.save_path会被php-fpm.conf中覆盖 打开php-fpm.conf文件找到php_value[session.save_apth] 这里的/var/lib/php/session 为实际的session保存目录&#xff0c;设置为777,必须让其他用户有rw权限,因为php在Linux里面以其他用户身份运行&#xff08;匿名…

JavaOne 2012:Java策略主题演讲和IBM主题演讲

与 JavaOne 2010 相似&#xff0c;我对JavaOne 2012的开始也很艰难。由于“计算机和打印机技术上的困难”&#xff0c;办理登机手续的人花了70分钟为我提供JavaOne徽章。 尽管我不是世界上最有耐心的人&#xff0c;但比等待更令人失望的是&#xff0c;我错过了参加“社区会议&a…

java citymap_Java实现Map集合二级联动

Map集合可以保存键值映射关系&#xff0c;这非常适合本实例所需要的数据结构&#xff0c;所有省份信息可以保存为Map集合的键&#xff0c;而每个键可以保存对应的城市信息&#xff0c;本实例就是利用Map集合实现了省市级联选择框&#xff0c;当选择省份信息时&#xff0c;将改变…

【NIO】之IO和NIO的区别

在Java1.4之前的版本&#xff0c;Java对I/O的支持并不完善&#xff0c;开发人员在开发高性能I/O程序的时候&#xff0c;会面临以下几个问题&#xff1a; 1、没有数据缓存区&#xff0c;I/O性能存在问题 2、没有C/C通道的概念&#xff0c;输入和输出流是相互独立的不能复用 3、同…

Mono环境下访问SSL

由于MONO没有CA证书&#xff0c;所以访问SSL链接&#xff08;HTTPS&#xff09;就会出错&#xff0c;这时候只要强制访问就可以。 using System.Net.Security;using System.Security.Authentication;using System.Security.Cryptography.X509Certificates; private static bool…

JavaOne 2012:使用HTML5和Java构建移动应用程序

我返回了Parc 55 &#xff08;任务会议室&#xff09;&#xff0c;观看Max Katz的&#xff08; Exadel开发人员关系&#xff09;“用HTML5和Java构建移动应用程序” Bird-of-Feather&#xff08;BoF&#xff09;演示。 具体来说&#xff0c;Katz在Tiggzi &#xff08;基于云的应…

HDU 2602.Bone Collector-动态规划0-1背包

Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 85530 Accepted Submission(s): 35381 Problem DescriptionMany years ago , in Teddy’s hometown there was a man who was called “Bone Col…

java线程实现排序_【多线程实现快速排序】

快速排序算法实现文件QuickSort.javapackage quick.sort;import java.util.concurrent.Callable;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class QuickSort implements Callable{private int[] array;private final in…

使用Gitolite搭建Gitserver

Gitolite是一款Perl语言开发的Git服务管理工具。通过公钥对用户进行认证。并可以通过配置文件对些操作进行基于分支和路径的精细控制。Gitolite採用的是SSH协议而且使用SSH公钥认证。因此不管是管理员还是普通用户。都须要对SSH有所了解。Gitolite的官网是&#xff1a;https://…

java任务分支和合并_合并/分支战略

我会给出与Adarsh Shah相同的建议&#xff0c;因为在大多数情况下&#xff0c;2个分支(MAIN&#xff0c;RELEASE)就足够了&#xff0c;并且使用feature branches用于你不想立即提交到MAIN的东西&#xff0c;因为它需要一段时间才能完全准备好测试 . 通过RELEASE&#xff0c;我指…

Spring安全:防止暴力攻击

Spring Security可以为您做很多事情。 帐户被封锁&#xff0c;密码盐。 但是蛮力阻断剂呢&#xff1f; 那是你必须自己做的。 幸运的是&#xff0c;Spring是一个非常灵活的框架&#xff0c;因此对其进行配置并不是什么大问题。 让我向您展示一些如何针对Grails应用程序执行…

NopCommerce计划任务

NopCommerce计划任务转载于:https://www.cnblogs.com/chenjz/p/6293210.html

简单谈谈js中的MVC

MVC是什么&#xff1f; MVC是一种架构模式&#xff0c;它将应用抽象为3个部分&#xff1a;模型&#xff08;数据&#xff09;、视图、控制器&#xff08;分发器&#xff09;。 本文将用一个经典的例子todoList来展开&#xff08;代码在最后&#xff09;。 一个事件发生的过程&a…

BTrace:Java开发人员工具箱中的隐藏宝石

这篇文章是关于BTrace的 &#xff0c;我正在考虑将其作为Java开发人员的隐藏宝藏。 BTrace是用于Java平台的安全&#xff0c;动态跟踪工具。 BTrace可用于动态跟踪正在运行的Java程序&#xff08;类似于DTrace&#xff0c;适用于OpenSolaris应用程序和OS&#xff09;。 不久&am…

python 图片转视频ffmpeg_python图片转视频(opencv),ffmpeg压缩视频

要注意&#xff1a;1. 图片传视频要自己设置帧率和分辨率2.读取图片后分辨率要resize为和视频分辨率一样才可以3.写完.avi视频后视频比较大&#xff0c;用ffmpeg将avi视频压缩为mp4import cv2from cv2 import VideoWriter, VideoWriter_fourcc, imread, resizeimport osfrom su…