c# - 将 UDP 输出添加到 log4net 附加程序
问题描述
我有一个使用 log4net 用 C#.NET 编写的 Windows 服务应用程序。我想为写入日志文件的每一行向网络发送一个 UDP 数据包。这是一个典型的附加程序(应用程序使用 4 个附加程序用于不同的日志字符串格式):
<appender name="TraceMessage" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%property{LogFolderName}\DEV%property{DeviceNumber}.log" />
<rollingStyle value="Date" />
<datePattern value="_yyyyMMdd.HH00" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<PreserveLogFileNameExtension value="true"/>
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<!--<conversionPattern value="%date{yyyy/MM/dd HH:mm:ss} %property{LogType} %property{LogLevel} %property{FepNumber} %property{MessageLabel} %property{IPaddress} %property{Link} %property{Direction} %property{MessageSize} bytes %message%newline" />-->
<conversionPattern value="%date{yyyy/MM/dd HH:mm:ss} [3] %property{LLLGGG} %property{MessageLabel} %property{IPaddress} %property{Direction} %property{MessageSize} bytes %message%newline" />
</layout>
</appender>
可以将此功能添加到现有的附加程序中还是我需要定义一个单独的附加程序?如果后者是真的,我将不得不为 4 种格式样式中的每一种编写一个单独的 udp-appender。
解决方案
推荐阅读
- javascript - 在 Leaflet 或 Openlayers 地图上绘制 S57 符号
- sonarqube - 如何获得我所有项目的顶级覆盖率报告?
- android - 活动场景
挂起执行(点击()) - jestjs - Bootstrap Dropdown 未在 jestjs 单元测试中正确导入 typescript
- sql-server - SQL Server 非聚集索引扫描或索引取决于值
- c# - EF 如何创建更新具有 500 万行的 SQLite 表中的 100 万行所需的 SQL?它会逐行更新吗?
- java - 无法将 FloatBuffer 转换为 float[] (UnsupportedOperationException)
- pine-script - 如何获得最高和最低的条形指数
- angular - 如果 FormControl 有“。”,为什么 FormGroup.Get() 返回 null 在名字里?
- mysql - 在mysql中选择前半年的记录