zoukankan      html  css  js  c++  java
  • keepalived + asp.net core2.1 + entityframework + 禁用console

        public partial class PaintingLineDbContext : DbContext
        {
            // 输出到Console
            public static readonly LoggerFactory LoggerFactory =
                new LoggerFactory(new[] { new ConsoleLoggerProvider((_, __) => true, true) });
    
            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                base.OnConfiguring(optionsBuilder);
    
                var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
                if (env == "Development")
                {
                    optionsBuilder.UseLoggerFactory(LoggerFactory);
                }
            }
        }

    supervisor配置文件:api.ini

    [program:api]
    command=dotnet21 OpenAuth.PaintLine.WebApi.dll
    directory=/app/api
    environment=ASPNETCORE__ENVIRONMENT=Production
    user=root
    stopsignal=INT
    autostart=true
    autorestart=true
    startsecs=1
    stderr_logfile=/var/log/api.err.log
    stdout_logfile=/var/log/api.out.log

    .net core 2.1 + keepalived部署的时候,一直在往/var/log/api.out.log写文件,经过排查发现:

    不知道哪位大哥加了这么一段代码 optionsBuilder.UseLoggerFactory(LoggerFactory); ,导致entityframework大量输出日志级别为debug和info的信息,进而导致supervisor一直疲于往文件写日志。然后我的服务器CPU就爆满了。

  • 相关阅读:
    本周工作量统计
    第15周个人作业
    16周第一组作业
    排球比赛积分规则
    典型用户和场景
    我和计算机
    第18周冲刺
    16周个人作业
    Java中动态获取项目根目录的绝对路径
    Spring框架下类的初始化顺序
  • 原文地址:https://www.cnblogs.com/subendong/p/15600125.html
Copyright © 2011-2022 走看看