浅谈log4j-5-读取properties文件(转自godtrue)
###
# 在代码中配置log4j环境的方式,我们已经见识过了,是不是感觉比较麻烦,我们试试使用配置文件的方式是否使您的应用程序更加的灵活。
# Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性的文件(键=值)。
# 下面我们先试试使用Java特性文件做为配置文件的方式
#
# 以下的设置参数,前文已经讲过是怎么回事的,这里就不再重复了
#
###
###
# 设置根记录器的配置,其语法为:log4j.rootLogger = [ level ] , appenderName1, appenderName2, …appenderNameN
# level用于设置日志记录的优先级,有系统自定义的8中类型,也可以自定义,官方建议只是用这四种 ERROR>WARN>INFO>DEBUG
# appenderNameN用于设置日志的输出地,可以设置多个,可以自定义名称
###
log4j.rootLogger = debug,stdout,D,E,F
###
# 设置日志记录的输出地,其语法为:
# log4j.appender.appenderName = fully.qualified.name.of.appender.class
# log4j.appender.appenderName.option1 = value1
# …
# log4j.appender.appenderName.optionN = valueN
# fully.qualified.name.of.appender.class:指日志输出目的类的全路径类名,有好许多预定义,下面介绍四个常用的
# optionN/valueN :分别是指对应的输出目的地属性和设置的属性值
#
# 如果对应的属性,仍然是对象级别的话,可以通过继续 . 的形式来设置对应的属性
#
###
###
# 输出信息到控制台,其可选的配置有如下几个:
# 1)Threshold:设置日志信息输出的级别
# 2)ImmediateFlush:设置日志信息是否被立即输出,默认为TRUE,立即输出
# 3)Target:设置日志信息输出的目标流,有两种值System.out和System.err ,默认值System.out(err为红色,out为黑色)
# 4)layout:设置日志信息输出的样式
# 5)Encoding:设置文件的编码格式,默认和系统平台的编码格式保持一致
###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Encoding = Utf-8
log4j.appender.stdout.Threshold = debug
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n
###
# 输出信息到文件,其常用的可选的配置有如下几个:
# 1)Threshold:设置日志信息输出的级别
# 2)ImmediateFlush:设置日志信息是否被立即输出,默认为TRUE,立即输出
# 3)File:设置日志信息输出全路径,比如:E://logs/FileAppender.log
# 4)layout:设置日志信息输出的样式
# 5)Encoding:设置文件的编码格式,默认和系统平台的编码格式保持一致
# 6)Append:设置是否将日志消息追加到指定的文件中,默认值true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
###
log4j.appender.D = org.apache.log4j.FileAppender
log4j.appender.D.File = log/logfile.txt
log4j.appender.D.Append = true
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n
###
# 输出信息到文件,但是这个文件是可控的,可以配置多久产生一个新的日志信息文件,其常用的可选的配置有如下几个:
# 1)Threshold:设置日志信息输出的级别
# 2)ImmediateFlush:设置日志信息是否被立即输出,默认为TRUE,立即输出
# 3)File:设置日志信息输出全路径,比如:E://logs/DailyRollingFileAppender.log
# 4)layout:设置日志信息输出的样式
# 5)Encoding:设置文件的编码格式,默认和系统平台的编码格式保持一致
# 6)Append:设置是否将日志消息追加到指定的文件中,默认值true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
# 7)DatePattern:设置文件回滚的时间样式
# '.'yyyy-MM 每月
# '.'yyyy-ww 每周
# '.'yyyy-MM-dd 每天
# '.'yyyy-MM-dd-a 每天两次
# '.'yyyy-MM-dd-HH 每小时
# '.'yyyy-MM-dd-HH-mm 每分钟
###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =log/logdaily.txt
log4j.appender.E.Append = true
log4j.appender.E.Threshold = WARN
log4j.appender.E.DatePattern = '.'yyyy-MM-dd-HH-mm
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n
###
# 输出信息到文件,但是这个文件是可控的,当文件的大小达到某个阈值的时候,日志文件会自动回滚,其常用的可选的配置有如下几个:
# 1)Threshold:设置日志信息输出的级别
# 2)ImmediateFlush:设置日志信息是否被立即输出,默认为TRUE,立即输出
# 3)File:设置日志信息输出全路径,比如:E://logs/RollingFileAppender.log
# 4)layout:设置日志信息输出的样式
# 5)Encoding:设置文件的编码格式,默认和系统平台的编码格式保持一致
# 6)Append:设置是否将日志消息追加到指定的文件中,默认值true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
# 7)MaxFileSize:设置当文件达到此阈值的时候自动回滚,单位可以是KB,MB,GB,默认单位是KB
# 8)MaxBackupIndex:设置保存备份回滚日志的最大个数
###
log4j.appender.F = org.apache.log4j.RollingFileAppender
log4j.appender.F.File =log/logrol.txt
log4j.appender.F.Append = true
log4j.appender.F.Threshold = INFO
log4j.appender.F.MaxFileSize = 1
log4j.appender.F.MaxBackupIndex = 5
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern =[%d{yyyy-MM-dd HH\:mm\:ss\:SSS}] [%-5p] [method\:%l]%n%m%n%n
浅谈log4j-5-读取properties文件(转自godtrue)的更多相关文章
- 浅谈Log4j和Log4j2的区别
相信很多程序猿朋友对log4j都很熟悉,log4j可以说是陪伴了绝大多数的朋友开启的编程.我不知道log4j之前是用什么,至少在我的生涯中,是log4j带我开启的日志时代. log4j是Apache的 ...
- classpath 及读取 properties 文件
java代码中获取项目的静态文件,如获取 properties 文件内容是必不可少的. Spring 下只需要通过 @Value 获取配置文件值 <!-- 资源文件--> <util ...
- 简单读取 properties文件
看了网上很多读取的方法,都太过复杂,直接使用下面的方法就可以简单读取 properties文件了 ide使用idea 测试读取成功 import java.util.ResourceBundle; p ...
- 五种方式让你在java中读取properties文件内容不再是难题
一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...
- java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)
java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...
- 用eclipse做项目中常遇到的问题-如何创建并读取properties文件
在用eclipse做项目开发的时候我们常常会将一些重要的内容写在配置文件里面, 特别是连接数据库的url,username,password等信息,我们常常会新建一个properties文件将所有信息 ...
- jsp读取properties文件
jsp读取properties文件 jsp中读取properties文件,并把值设到js变量中: mpi.properties文件内容: MerchantID=00000820 CustomerEMa ...
- java读取.properties文件
在web开发过程中,有些配置要保存到properties文件里,本章将给出一个工具类,用来方便读取properties文件. 案例: 1:config.properties文件 name=\u843D ...
- Java 读取Properties文件时应注意的路径问题
1. 使用Class的getResourceAsStream()方法读取Properties文件(资源文件)的路径问题: InputStream in = this.getClass().getRe ...
- Java的Properties类和读取.properties文件
一..properties文件的作用 Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必 ...
随机推荐
- Win10系列:VC++媒体播放控制2
(3)停止视频播放 接下来添加对视频文件播放的停止控制,打开MainPage.xaml文件,并在Grid元素中添加一个"停止"按钮,用于停止视频的播放,代码如下所示: <Bu ...
- am335x system upgrade uboot nand boot(三)
在uboot 下初始化nand,一般需要做如下工作: 第一: 配置默认从NAND boot Index: include/configs/am335x_evm.h=================== ...
- Vue + Element UI 实现权限管理系统(工具模块封装)
封装 axios 模块 封装背景 使用axios发起一个请求是比较简单的事情,但是axios没有进行封装复用,项目越来越大,会引起越来越多的代码冗余,让代码变得越来越难维护.所以我们在这里先对 axi ...
- js 图片延时加载
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- mybatis generator工具的使用
mybatis反转数据库的配置文件: generatorConfig.xml: <?xml version="1.0" encoding="UTF-8"? ...
- 删除Mac OS X中Finder文件打开方式列表的重复程序或失效的
清理列表, 可以在终端中输入下面提供的一行命令: /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices ...
- node(2) EventEmitter类 事件队列 事件和error事件方法
事件队列的核心:事件触发与事件监听器功能的封装. // 引入 events 模块 var events = require('events'); // 创建 eventEmitter 对象 var e ...
- Cracking The Coding Interview 4.4
//Given a binary search tree, design an algorithm which creates a linked list of all the nodes at ea ...
- 对FPGA的时钟资源理解(更新中)
7系列FPGA中包含了多达24个CMT(时钟管理单元)(实际上V7常见只有20个),MMCM和PLL均为时钟综合器,对外部输入时钟.内部时钟进行处理,生成需要的低抖动时钟.PLL是MMCM的功能子集, ...
- Iscloc用法笔记
一. Iscloc的安装(使用Docker CE) 1.install Docker CE: https://www.digitalocean.com/community/tutorials/how- ...