Files
2026-07-10 15:25:05 +08:00

89 lines
2.6 KiB
C#

using System;
using System.Diagnostics;
using Zhaizj.Framework;
namespace Zhaizj.Framework.Log {
/// <summary>
/// 文件日志工具,所有日志会被写入磁盘
/// </summary>
internal class FileLogger : ILog {
private LogLevel _levelSetting;
private LogMessage _msg;
public FileLogger() {
_levelSetting = LogConfig.Instance.Level;
_msg = new LogMessage();
}
public void Debug( String message ) {
_msg.LogTime = DateTime.Now;
_msg.Message = message;
_msg.LogLevel = "debug";
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
if (_levelSetting >= LogLevel.Debug) {
LoggerUtil.WriteFile( _msg );
}
}
public void Info( String message ) {
Boolean isSql = false;
if (message.StartsWith( LoggerUtil.SqlPrefix )) {
isSql = true;
message = strUtil.TrimStart( message, LoggerUtil.SqlPrefix );
}
_msg.LogTime = DateTime.Now;
_msg.Message = message;
_msg.LogLevel = "info";
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
if (_levelSetting >= LogLevel.Info) {
LoggerUtil.WriteFile( _msg );
}
if (isSql) LoggerUtil.LogSqlCount();
}
public void Warn( String message ) {
_msg.LogTime = DateTime.Now;
_msg.Message = message;
_msg.LogLevel = "warn";
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
if (_levelSetting >= LogLevel.Warn) {
LoggerUtil.WriteFile( _msg );
}
}
public void Error( String message ) {
_msg.LogTime = DateTime.Now;
_msg.Message = message;
_msg.LogLevel = "error";
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
if (_levelSetting >= LogLevel.Error) {
LoggerUtil.WriteFile( _msg );
}
}
public void Fatal( String message ) {
_msg.LogTime = DateTime.Now;
_msg.Message = message;
_msg.LogLevel = "fatal";
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
if (_levelSetting >= LogLevel.Fatal) {
LoggerUtil.WriteFile( _msg );
}
}
public String TypeName {
set {
_msg.TypeName = value;
}
}
}
}