我如何在 F# 中使用 Log4Net?
Posted
技术标签:
【中文标题】我如何在 F# 中使用 Log4Net?【英文标题】:How can i use Log4Net in F#? 【发布时间】:2021-09-23 05:32:23 【问题描述】:如何在 F# 中使用 Log4Net?我执行这个程序,但什么也没发生。 我在 nuget 上安装 log4net(版本为 2.0.12)。
这是我的配置文件
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="LogFiles/"/>
<staticLogFileName value="false"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd.lo\g"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %dateyyyy/MM/dd HH:mm:ss %-20c1 %-20M %m%n" />
</layout>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="RollingFileAppender"/>
</root>
</log4net>
还有我的 program.fs
open System
open log4net
open log4net.Config
let from whom =
sprintf "from %s" whom
[<EntryPoint>]
let main argv =
let message = from "F#"
let log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
log.Info("Hello logging world!")
printfn "Hello world %s" message
0
【问题讨论】:
我建议使用代码而不是配置文件来配置 log4net。 【参考方案1】:如果您使用的是 .NET Core,则必须告诉 log4net 在程序开始时加载配置,如下所示:
open System.IO
FileInfo("log4net.config")
|> XmlConfigurator.Configure
|> ignore
更多详情here.
【讨论】:
以上是关于我如何在 F# 中使用 Log4Net?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 WPF 应用程序中使用 App.config 进行 log4net 配置