log4net - ASP.NET 样板使用 Log4Net 和 Castle Logging 添加额外的日志文件
问题描述
我一直在尝试查找有关如何在 ASP.NET Boilerplate MVC 中使用单独日志文件的文档和指南。
直接将 ILogger 注入并将消息推送到默认的 Log.txt 文件中,但是我需要一个单独的日志文件来记录大量批处理作业消息并保持整洁。
我找不到任何方法来使用 Log4Net.config 文件中的另一个日志。任何人都可以就正确的代码/配置提出建议吗?
解决方案
因此,我在查看 Hangfire 文档时偶然找到了答案,其中显示您可以通过让 Log4Net 侦听 Hangfire 名称和基于此的路由来配置将 Hangfire 消息发送到另一个日志文件。
通过 Log4Net.config 中的以下附加配置,我现在将在 MyClass 中正常创建的日志消息发送到 MyClass.txt 日志文件:
<appender name="RollingFileAppender_MyClass" type="log4net.Appender.RollingFileAppender" >
<file value="App_Data/Logs/MyClass.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="32" />
<maximumFileSize value="10000KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" />
</layout>
</appender>
<logger additivity="false" name="MyNamespace.MyClass">
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender_MyClass" />
</logger>
为了完整起见,它以 AspNet Boilerplate 文档中记录的标准方式调用:
推荐阅读
- java - 在 spock 中交换号码测试用例
- laravel - Laravel 类别、子类别和模型绑定
- java - Spring Kafka:kafkaTemplate executeInTransaction 方法如何发挥 Consumer 的 read_committed 隔离级别
- git - 如何处理未提交的更改
- javascript - 通过自动更改所有函数和变量名称来掩盖生产中的反应代码
- excel - IF 函数 Excel 中的多个 OR 语句
- vue.js - 如何以编程方式打开/关闭锁定纵横比
- python - 多边形到二进制掩码
- pentaho - Pentaho 将空字符串视为 null
- javascript - 后端接收H5前端图片上传成功,但是服务器图片显示失败?