现在没搞明白应该怎样去写APP.CONFIG文件,搜了一下也没发现有人写过SYSLOG的配置。官方文档中的例子也没看见。。。请帮忙提供一下相关配置的例子,谢谢。只要RemoteSyslogAppender配置文件部分的设置
从外国网站找到如下例子:
<appender name="RemoteSyslogAppender" type="log4net.Appender.RemoteSyslogAppender"> <layout type="log4net.Layout.PatternLayout" value="%date{dd/MM/yyyy hh:mm:ss,fff} | %thread | %level | %logger | %username | %P{log4net:HostName} | dev | %message | %exception | "/> <remoteAddress value="LOGSERVER" /> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="ALL" /> </filter> </appender>
我将<remoteAddress value="LOGSERVER" />中的LOGSERVER改成我的SYSLOG服务器IP地址,但经测试发现并没有成功将日志信息发到服务上。。。
好像可以配置一个数据库的地址和insert,就可以把log插入到指定的数据库表中
我需要把日志写到SYSLOG服务器
请问怎么配置呀!!!!!我想用在UpdAppender......现在要实现,通过UDP将日志传输到别的服务器的指定数据库。。。。。不会做。,。。。
还要有用户名和密码吧。你远程数据库中开个只允许写摸个表的用户。
用这个用户配置到log4net的配置文件中。应该可以了吧。
上官网看看 http://logging.apache.org/log4net/ 上面有说明
我现在想把日志写到远程的SYSLOG服务器。。。不是写到数据库里面去
@Raon: 远程是怎么弄的呀
log4net 不用APP.CONFIG,只用 log4net.xml
另外,AssemblyInfo.cs 文件也要加一行 [assembly:log4net.Config.XmlConfigurator(ConfigFile="log4net.xml",Watch=true)]
选择对应的EventLogAppender就可以了, 给你一个完整的配置示例吧:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <!--定义输出到文件中--> <appender name="LogFileAppender" type="log4net.Appender.FileAppender"> <!--定义文件存放位置--> <file value="Log/Log.txt" /> <appendToFile value="true" /> <!--<rollingStyle value="Date" /> <datePattern value="yyyyMMdd-HH:mm:ss" />--> <layout type="log4net.Layout.PatternLayout"> <!--每条日志末尾的文字说明--> <footer value="Log By Log4Net " /> <!--输出格式--> <!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="%n记录时间:%date 线程ID:[%thread] 日志级别:%-5level 相关类:%logger property:[%property{NDC}] - 相关描述:%message%newline" /> </layout> </appender> <appender name="RollingLogFileAppender_DateFormat" type="log4net.Appender.RollingFileAppender"> <file value="D:/RollingLogFileAppender_DateFormat_log.txt" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <!--<datePattern value="yyyyMMdd-HHmm" />--> <datePattern value="yyyyMMdd" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread](%file:%line) %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!--定义输出到控制台命令行中--> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!--定义输出到windows事件中--> <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <!--定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb--> <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender"> <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" /> <commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" /> <!--定义各个参数--> <parameter> <parameterName value="@logDate" /> <dbType value="String" /> <size value="240" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date" /> </layout> </parameter> <parameter> <parameterName value="@thread" /> <dbType value="String" /> <size value="240" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%thread" /> </layout> </parameter> <parameter> <parameterName value="@logLevel" /> <dbType value="String" /> <size value="240" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%level" /> </layout> </parameter> <parameter> <parameterName value="@logger" /> <dbType value="String" /> <size value="240" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%logger" /> </layout> </parameter> <parameter> <parameterName value="@message" /> <dbType value="String" /> <size value="240" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%message" /> </layout> </parameter> </appender> <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。--> <root> <level value="INFO" /> <!-- OFF、FATAL、RROR、WARN、INFO、DEBUG、ALL --> <!--文件形式记录日志--> <appender-ref ref="LogFileAppender" /> <!--<appender-ref ref="RollingLogFileAppender_DateFormat" />--> <!--控制台控制显示日志--> <!--<appender-ref ref="ConsoleAppender" />--> <!--Windows事件日志--> <!--<appender-ref ref="EventLogAppender" />--> <!-- 如果不启用相应的日志记录,可以通过这种方式注释掉 <appender-ref ref="AdoNetAppender_Access" /> --> </root> </log4net> </configuration>
先配置好 EventLogAppender 的格式
然后在 <root>里面根据“name”属性调用相应的EventLogAppender就可以。