<configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> </appSettings> <!--日志文件配置--> <log4net> <root> <!--只有在这个级别或之上的事件才会被记录--> <level value="ALL"/> <!--RollingFileAppender事件日志,每天一个日志--> <appender-ref ref="LogFileAppender_DateFormat"/> </root> <!--logger name:必须的,logger的名称 additivity:可选,取值是true或false,默认值是true。设置为false时将阻止父logger中的appender--> <logger name="myLoggin"> <!--只有在这个级别或之上的事件才会被记录--> <level value="DEBUG"/> <appender-ref ref="LogFileAppender_DateFormat"/> </logger> <!--定义日志的输出方式,只能作为 log4net 的子元素。name属性必须唯一,type属性必须指定。name:必须的,Appender对象的名称 type:必须的,Appender对象的输出类型--> <appender name="LogFileAppender_DateFormat" type="log4net.Appender.RollingFileAppender"> <!--保存路径:下面路径项目启动的时候自动创建Log文件夹--> <file value="Log\"/> <appendToFile value="true"/> <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--> <rollingStyle value="Date"/> <!--这是按日期产生文件夹--> <datePattern value="yyyy\yyyyMM\yyyyMMdd'.txt'"/> <!--是否只写到一个文件中--> <staticLogFileName value="false"/> <param name="AppendToFile" value="true"/> <!--控制Appender的输出格式,也可以是xml 一个Appender只能是一个layout--> <layout type="log4net.Layout.PatternLayout"> <!--每条日志末尾的文字说明--> <param name="Header" value="[Header]"/> <param name="Footer" value="[Footer]"/> <param name="ConversionPattern" value=" %n异常时间:%date %n线程ID:[%thread] %n日志级别:%-5level %n记录类:%logger %n操作类型:%property{Action} %n消息描述:%property{Message} %n异常:%exception %n消息:%message%newline%n%n"/> </layout> <!--定义过滤器--> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="DEBUG"/> <param name="LevelMax" value="WARN"/> </filter> </appender> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/> </layout> </appender> </log4net> </configuration>
生成日志: