【问题标题】:Serilog - Configuring Multiple Sinks in AppSettingsSerilog - 在 AppSettings 中配置多个接收器
【发布时间】:2017-02-03 17:44:37
【问题描述】:

我正在尝试使用应用程序设置包连接 serilog,当我运行我的程序时,Serlog 抱怨它找不到 RollingFile 程序集。我使用单个水槽没有这个问题,但多个水槽让我很适合:

<!-- Serilog Configuration -->
<add key="serilog:using:Email" value="Serilog.Sinks.Email" />
<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" />

<!-- Configure Serilog Email Sink -->
<add key="serilog:write-to:Email"/>
<add key="serilog:write-to:Email.mailServer" value="***" />
<add key="serilog:write-to:Email.toEmail" value="***" />
<add key="serilog:write-to:Email.fromEmail" value="***" />
<add key="serilog:write-to:Email.mailSubject" value="Notification" />
<add key="serilog:write-to:Email.restrictedToMinimumLevel" value="Debug" />

<!-- Configure Serilog RollingFile Sink -->
<add key="serilog:write-to:RollingFile" />
<add key="serilog:write-to:RollingFile.restrictedToMinimumLevel" value="Debug" />
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\comply360-user-mgmt-{Date}.txt" />
<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] [{CorrelationId}] {Message}{NewLine}{Exception}" />

【问题讨论】:

    标签: serilog


    【解决方案1】:

    您必须在 web.config 和这样的配置中使用前缀

    Web.Config

    <!-- Serilog Configuration -->
    <add key="email:serilog:using:Email" value="Serilog.Sinks.Email" />
    <add key="file:serilog:using:RollingFile" value="Serilog.Sinks.RollingFile"     />
    
    <!-- Configure Serilog Email Sink -->
    <add key="email:serilog:write-to:Email"/>
    <add key="email:serilog:write-to:Email.mailServer" value="***" />
    <add key="email:serilog:write-to:Email.toEmail" value="***" />
    <add key="email:serilog:write-to:Email.fromEmail" value="***" />
    <add key="email:serilog:write-to:Email.mailSubject" value="Notification" />
    <add key="email:serilog:write-to:Email.restrictedToMinimumLevel" value="Debug" />
    
    <!-- Configure Serilog RollingFile Sink -->
    <add key="file:serilog:write-to:RollingFile" />
    <add key="file:serilog:write-to:RollingFile.restrictedToMinimumLevel" value="Debug" />
    <add key="file:serilog:write-to:RollingFile.pathFormat" value="C:\Logs\comply360-user-mgmt-{Date}.txt" />
    <add key="file:serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] [{CorrelationId}] {Message}{NewLine}{Exception}" />
    

    Startup.cs

     Log.Logger = new LoggerConfiguration()
                .ReadFrom
                .AppSettings("email")
                .ReadFrom
                .AppSettings("file")
                .CreateLogger()
    

    【讨论】:

    • 这对我有帮助
    【解决方案2】:

    想通了。我不得不使用语句删除滚动文件。

    【讨论】:

      猜你喜欢
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多