log4net 多文件配置
Posted 看一看,想一想,学一学,再想一想!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4net 多文件配置相关的知识,希望对你有一定的参考价值。
C#
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "App.config"));
testLog = log4net.LogManager.GetLogger("testLog");
warnLog = log4net.LogManager.GetLogger("WarnLog");
配置文件:
<log4net>
<root>
<!--从高到低的七个级别:OFF,FATAL,RROR,WARN,INFO,DEBUG,ALL-->
<level value="ALL"/>
</root>
<!--配置程序报错专用-->
<logger name="testLog">
<level value="ALL"/>
<appender-ref ref="testLogApp"/>
</logger>
<appender name="testLogApp" type="log4net.Appender.RollingFileAppender, log4net">
<!--日志路径-->
<param name="File" value="log\\"/>
<!--日期为滚动类型(每天产生一个日志文件)-->
<param name="RollingStyle" value="Date"/>
<!--追加方式-->
<param name="AppendToFile" value="true"/>
<!--日志文件名-->
<param name="DatePattern" value="yyyy-MM-dd".log""/>
<!--关闭固定文件方式-->
<param name="StaticLogFileName" value="false"/>
<maximumFileSize value="600000KB" />
<!--记录格式-->
<layout type="log4net.Layout.PatternLayout, log4net">
<!--%m:消息内容-->
<!--%n:换行-->
<!--%d:输出时间-->
<!--%p:级别-->
<!--%c:类名-->
<!--%F:文件名-->
<param name="ConversionPattern" value="[%d] %p - %m%n"/>
</layout>
<!--过滤器-->
<filter type="log4net.Filter.LevelRangeFilter, log4net">
<param name="LevelMin" value="ALL"/>
<param name="LevelMax" value="OFF"/>
</filter>
</appender>
<logger name="WarnLog">
<level value="WARN"/>
<appender-ref ref="WarnLogApp"/>
</logger>
<appender name="WarnLogApp" type="log4net.Appender.RollingFileAppender, log4net">
<!--日志路径-->
<param name="File" value="log\\"/>
<!--日期为滚动类型(每天产生一个日志文件)-->
<param name="RollingStyle" value="Date"/>
<!--追加方式-->
<param name="AppendToFile" value="true"/>
<!--日志文件名-->
<param name="DatePattern" value="warn_yyyy-MM-dd".log""/>
<!--关闭固定文件方式-->
<param name="StaticLogFileName" value="false"/>
<maximumFileSize value="600000KB" />
<!--记录格式-->
<layout type="log4net.Layout.PatternLayout, log4net">
<!--%m:消息内容-->
<!--%n:换行-->
<!--%d:输出时间-->
<!--%p:级别-->
<!--%c:类名-->
<!--%F:文件名-->
<param name="ConversionPattern" value="[%d] %p - %m%n"/>
</layout>
<!--过滤器-->
<filter type="log4net.Filter.LevelRangeFilter, log4net">
<param name="LevelMin" value="ALL"/>
<param name="LevelMax" value="OFF"/>
</filter>
</appender>
</log4net>
Spring Boot配置文件-多环境配置
一. 多环境配置的好处:
1.不同环境配置可以配置不同的参数~
2.便于部署,提高效率,减少出错~
二. properties多环境配置
1. 配置激活选项
spring.profiles.active=dev
2.添加其他配置文件
application.properties:
#激活哪一个环境的配置文件
spring.profiles.active=dev
#公共配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss:
运行的时候还可以制定激活的环境
java -jar myapp.jar --spring.profiles.active=prd
三.YAML多环境配置
1.配置激活选项
spring:
profiles:
active: dev
2.在配置文件添加三个英文状态下的短横线即可区分
---
spring:
profiles: dev
application.yml
#激活哪一个环境的配置文件
spring:
profiles:
active: prd
#公共配置
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
---
spring:
profiles: dev
server:
port: 8081
---
spring:
profiles: test
server:
port: 8082
---
spring:
profiles: prd
server:
port: 8083
这种情况是报错的:Duplicate key: spring
正确的配置:
#激活哪一个环境的配置文件
#公共配置
spring:
profiles:
active: prd
jackson:
date-format: yyyy-MM-dd HH:mm:ss
---
spring:
profiles: dev
server:
port: 8081
---
spring:
profiles: test
server:
port: 8082
---
spring:
profiles: prd
server:
port: 8083
四.两种配置方式的比较
1. Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件
yml文件本身具有区分不同环境的能力
2.书写格式的差异,yaml相对比较简洁,优雅
3. YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。
讲真,还是喜欢properties的配置形式,yml形式的优雅?没啥感觉~哈哈~
以上是关于log4net 多文件配置的主要内容,如果未能解决你的问题,请参考以下文章