###
# 在代码中配置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)的更多相关文章

  1. 浅谈Log4j和Log4j2的区别

    相信很多程序猿朋友对log4j都很熟悉,log4j可以说是陪伴了绝大多数的朋友开启的编程.我不知道log4j之前是用什么,至少在我的生涯中,是log4j带我开启的日志时代. log4j是Apache的 ...

  2. classpath 及读取 properties 文件

    java代码中获取项目的静态文件,如获取 properties 文件内容是必不可少的. Spring 下只需要通过 @Value 获取配置文件值 <!-- 资源文件--> <util ...

  3. 简单读取 properties文件

    看了网上很多读取的方法,都太过复杂,直接使用下面的方法就可以简单读取 properties文件了 ide使用idea 测试读取成功 import java.util.ResourceBundle; p ...

  4. 五种方式让你在java中读取properties文件内容不再是难题

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

  5. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  6. 用eclipse做项目中常遇到的问题-如何创建并读取properties文件

    在用eclipse做项目开发的时候我们常常会将一些重要的内容写在配置文件里面, 特别是连接数据库的url,username,password等信息,我们常常会新建一个properties文件将所有信息 ...

  7. jsp读取properties文件

    jsp读取properties文件 jsp中读取properties文件,并把值设到js变量中: mpi.properties文件内容: MerchantID=00000820 CustomerEMa ...

  8. java读取.properties文件

    在web开发过程中,有些配置要保存到properties文件里,本章将给出一个工具类,用来方便读取properties文件. 案例: 1:config.properties文件 name=\u843D ...

  9. Java 读取Properties文件时应注意的路径问题

    1. 使用Class的getResourceAsStream()方法读取Properties文件(资源文件)的路径问题:  InputStream in = this.getClass().getRe ...

  10. Java的Properties类和读取.properties文件

    一..properties文件的作用 Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必 ...

随机推荐

  1. 8.3 C++格式标识和操纵器

    参考:http://www.weixueyuan.net/view/6409.html 总结: 我们需要借助格式标识符来控制cout对象的输出格式. 在ios_base类中,系统已经定义了很多格式标识 ...

  2. DevExpress v18.1新版亮点——CodeRush for VS篇(二)

    用户界面套包DevExpress v18.1日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了CodeRush for Visual Studio v18.1 的新功能,快来下载试 ...

  3. 文件操作---with语句

    with语句 为了避免打开文件后忘记关闭,可以通过管理上下文,即: with open('file','r','encoding='uth-8'') as f: #f为文件句柄 for line in ...

  4. Oracle表空间状态查询、意义及修改方式

    查询表空间状态 select tablesapce_name,status from dba_tablespaces; 表空间的状态属性主要有在线(online),离线(offline),只读(rea ...

  5. LimeSDR Getting Started Quickly | LimeSDR上手指南

    0x00 概览 LimeSDR部分特性: USB 3.0 : 4 x Tx 发射天线接口 6 x Rx 接收天线接口: 可用于Wi-Fi, GSM, UMTS, LTE, LoRa, Bluetoot ...

  6. git 服务器安装流程

    参考:https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C% ...

  7. 【Think in java读书笔记】序列化

    Java的对象序列化将那些实现了Serializable接口的对象转换成一个字节序列,并能够在以后将这个字节序列完全恢复成为原来的对象. 序列化机制能自动弥补不同操作系统之间的差异,也就是说在Wind ...

  8. JS执行机制--事件循环--笔记

    JS的解析是由浏览器中的JS解析引擎完成的.JS是单线程运行,也就是说,在同一个时间内只能做一件事,所有的任务都需要排队,前一个任务结束,后一个任务才能开始.但是又存在某些任务比较耗时,如IO读写等, ...

  9. 《vim实用技巧》读书笔记

    1.  . 命令 2.  * 命令 3.  cw 命令: (c:修改)会删除从光标位置到单词结尾间的字符,并进入插入模式. eg:  cw.copy1  即: 删除从光标位置到单词结尾间的字符,并插入 ...

  10. RIP路由协议(一)

    实验要求:使用RIPv2配置路由器,使路由器能接收到所有的路由条目 拓扑如下: 配置如下: R1enable 进入特权模式configure terminal 进入全局模式interface s0/0 ...