【问题标题】:How can i use Log4Net in F#?我如何在 F# 中使用 Log4Net?
【发布时间】: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 %date{yyyy/MM/dd HH:mm:ss} %-20c{1} %-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。

标签: .net f# log4net


【解决方案1】:

如果您使用的是 .NET Core,则必须告诉 log4net 在程序开始时加载配置,如下所示:

open System.IO

FileInfo("log4net.config")
    |> XmlConfigurator.Configure
    |> ignore

更多详情here.

【讨论】:

    猜你喜欢
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2021-07-18
    • 2019-01-19
    • 2015-06-27
    相关资源
    最近更新 更多