• .netCore .net5,6,7 存日志文件


    如果你使用 .netCore及以上版本(.net5,.net6,.net7)...  系统默认自带日志中间件(log4net)

    对,就是上次java 日志大漏洞的兄弟.......

    控制台自动打印日志就是它的功劳

    现在我们想存日志文件,怎么办  很简单.

    1.在项目中添加日志配置文件   文件名 :  log4net.config  不能随意文件名

    1. "1.0" encoding="utf-8"?>
    2. <log4net>
    3. <appender name="rollingAppender" type="log4net.Appender.RollingFileAppender">
    4. <file value="D:\APP\SG.ISS.GateSentry.Server\bin\Release\log.txt" />
    5. <appendToFile value="true" />
    6. <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    7. <Encoding value="UTF-8" />
    8. <param name="StaticLogFileName" value="false" />
    9. <datePattern value="yyyyMMdd".txt"" />
    10. <rollingStyle value="Size" />
    11. <maxSizeRollBackups value="7" />
    12. <maximumFileSize value="5MB" />
    13. <staticLogFileName value="true" />
    14. <layout type="log4net.Layout.PatternLayout">
    15. <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
    16. layout>
    17. appender>
    18. <root>
    19. <priority value="ALL"/>
    20. <level value="ALL"/>
    21. <appender-ref ref="rollingAppender" />
    22. root>
    23. log4net>

    2.在 program.cs  里面

            public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                    .ConfigureLogging((context,loggingBuilder)=> {//通过中间件的方式使用Log4Net
                        // 因为系统日志会很多
                        loggingBuilder.AddFilter("System", LogLevel.Warning);
                        loggingBuilder.AddFilter("Microsoft", LogLevel.Warning);//过滤掉系统默认的一些日志
                        loggingBuilder.AddLog4Net(); //注册Log4Net 到.Net Core
                    })
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup();
                    });
    3. NuGet : Microsoft.Extensions.Logging.Log4Net.AspNetCore

    它会自动带出安装  log4net

    注意对比版本,尽量少的更新已有包

  • 相关阅读:
    某环保制造企业核心人才培养项目成功案例纪实
    学习笔记——Java入门第一季
    OpenAI官方吴达恩《ChatGPT Prompt Engineering 提示词工程师》(4)推理/Inferring
    Spring底层原理之 BeanFactory 与 ApplicationContext
    从 Vue2向Vue3的迁移
    【MATLAB教程案例6】基于Costas环的载波同步matlab仿真
    代码随想录二刷day50
    连续学习模型评估:Permuted MNIST / Split MNIST / Sequential MNIST
    16. 机器学习 - 决策树
    app拉新渠道整合 一手地推、网推拉新平台整理
  • 原文地址:https://blog.csdn.net/po123op123/article/details/133579823