@@ -93,6 +93,61 @@ public sealed class LauncherOptions
9393 [ Option ( nameof ( IsDebugReceiveHeartBeat ) , Default = false , HelpText = "是否打印接收的心跳数据,只有在IsDebugReceive为true时有效,默认值为false" ) ]
9494 public bool IsDebugReceiveHeartBeat { get ; set ; }
9595
96+ /// <summary>是否输出到控制台,默认为 true。</summary>
97+ /// <remarks>控制日志是否同时在控制台显示,便于开发调试。</remarks>
98+ [ Option ( nameof ( LogGrafanaLokiUsername ) , Default = false , HelpText = "是否输出到控制台,默认为 false。" ) ]
99+ public bool LogIsConsole { get ; set ; } = false ;
100+
101+ /// <summary>是否输出到 GrafanaLoki,默认为 false。</summary>
102+ [ Option ( nameof ( LogIsGrafanaLoki ) , Default = false , HelpText = "是否输出到 GrafanaLoki,默认为 false。" ) ]
103+ public bool LogIsGrafanaLoki { get ; set ; }
104+
105+ /// <summary>GrafanaLoki 服务地址,默认为 http://localhost:3100。</summary>
106+ [ Option ( nameof ( LogGrafanaLokiUrl ) , Default = "http://localhost:3100" , HelpText = "GrafanaLoki 服务地址,默认为 http://localhost:3100。当LogIsGrafanaLoki为true时生效。" ) ]
107+ public string LogGrafanaLokiUrl { get ; set ; } = "http://localhost:3100" ;
108+
109+ /// <summary>GrafanaLoki 标签</summary>
110+ public IEnumerable < string > LogGrafanaLokiLabels { get ; set ; } = new List < string > ( ) ;
111+
112+ /// <summary>GrafanaLoki 用户名或Email</summary>
113+ [ Option ( nameof ( LogGrafanaLokiUsername ) , HelpText = "GrafanaLoki 用户名或Email,当LogIsGrafanaLoki为true时生效。" ) ]
114+ public string LogGrafanaLokiUsername { get ; set ; }
115+
116+ /// <summary>GrafanaLoki 密码</summary>
117+ [ Option ( nameof ( LogGrafanaLokiPassword ) , HelpText = "GrafanaLoki 密码,当LogIsGrafanaLoki为true时生效。" ) ]
118+ public string LogGrafanaLokiPassword { get ; set ; }
119+
120+ /// <summary>日志滚动间隔,默认为每天(Day)。</summary>
121+ /// <remarks>决定日志文件创建新文件的时间间隔,可以是小时、天、月等。</remarks>
122+ [ Option ( nameof ( LogRollingInterval ) , Default = RollingInterval . Day , HelpText = "日志滚动间隔,默认为每天(Day),日志滚动间隔(可选值:Minute[分], Hour[时], Day[天], Month[月], Year[年], Infinite[无限])" ) ]
123+ public RollingInterval LogRollingInterval { get ; set ; } = RollingInterval . Day ;
124+
125+ /// <summary>日志输出级别,默认为 Debug。</summary>
126+ /// <remarks>控制日志输出的最低级别,低于此级别的日志将不会被记录。</remarks>
127+ [ Option ( nameof ( LogEventLevel ) , Default = LogEventLevel . Debug , HelpText = "日志输出级别,默认为 Debug,日志级别(可选值:Verbose[详细], Debug[调试], Information[信息], Warning[警告], Error[错误], Fatal[致命])" ) ]
128+ public LogEventLevel LogEventLevel { get ; set ; } = LogEventLevel . Debug ;
129+
130+ /// <summary>是否限制单个文件大小,默认为 true。</summary>
131+ /// <remarks>启用此选项可以防止单个日志文件过大。</remarks>
132+ [ Option ( nameof ( LogIsFileSizeLimit ) , Default = true , HelpText = "是否限制单个文件大小,默认为 true。" ) ]
133+ public bool LogIsFileSizeLimit { get ; set ; } = true ;
134+
135+ /// <summary>
136+ /// 日志单个文件大小限制,默认为 100MB。
137+ /// 当 IsFileSizeLimit 为 true 时有效。
138+ /// </summary>
139+ /// <remarks>当日志文件达到此大小限制时,将创建新的日志文件继续写入。</remarks>
140+ [ Option ( nameof ( LogFileSizeLimitBytes ) , Default = 104857600 , HelpText = "日志单个文件大小限制,默认为 100MB。当 LogIsFileSizeLimit 为 true 时有效。" ) ]
141+ public int LogFileSizeLimitBytes { get ; set ; } = 104857600 ;
142+
143+ /// <summary>
144+ /// 日志文件保留数量限制 默认为 31 个文件,即 31 天的日志文件
145+ /// 当 设置值为 null 时不限制文件数量
146+ /// </summary>
147+ /// <remarks>用于控制历史日志文件的数量,防止占用过多磁盘空间。</remarks>
148+ [ Option ( nameof ( LogRetainedFileCountLimit ) , Default = 31 , HelpText = "日志文件保留数量限制 默认为 31 个文件,即 31 天的日志文件" ) ]
149+ public int ? LogRetainedFileCountLimit { get ; set ; } = 31 ;
150+
96151 /// <summary>
97152 /// 服务器ID
98153 /// </summary>
0 commit comments