using log4net;
using log4net.Config;
using System.IO;
namespace VideoConcat.Common.Tools
{
class LogUtils
{
private static readonly ILog loginfo = LogManager.GetLogger("loginfo");
///
/// 从缺省配置文件获取日志配置
///
public static void SetConfig()
{
XmlConfigurator.Configure();
}
///
/// 从指定配置文件获取日志配置
///
/// 指定的配置文件
public static void SetConfig(FileInfo configFile)
{
XmlConfigurator.Configure(configFile);
}
///
/// 生成分类日志
///
/// 日志信息
/// 保存目录名,形如d:\log\aaa
private static void WriteSortLog(string info, string dirName)
{
try
{
if (false == Directory.Exists(dirName))
{
Directory.CreateDirectory(dirName);
}
string path = dirName + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".log";
StreamWriter sw = new(path, true, System.Text.Encoding.Default);
sw.WriteLine(DateTime.Now.ToString("HH:mm:ss: ") + info);
sw.Close();
}
catch (Exception ex)
{
string expMsg = "WriteSortLog异常:" + ex.Message + Environment.NewLine + ex.StackTrace;
if (ex.InnerException != null)
expMsg += Environment.NewLine + "InnerException:" + ex.InnerException.Message;
Error(expMsg, ex);
}
}
///
/// Info级 常规日志
///
/// 日志信息
public static void Info(string info)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
}
///
/// Info 先生成常规日志,然后在指定目录另外创建一份日志
/// 主要用来需要对日志进行分类时使用
///
///
///
public static void Info(string info, string dirName)
{
if (loginfo.IsInfoEnabled)
{
//生成常规日志
loginfo.Info(info);
//生成分类日志
WriteSortLog(info, dirName);
}
}
///
/// Debug级 常规日志
///
/// 日志信息
public static void Debug(string info)
{
if (loginfo.IsDebugEnabled)
{
loginfo.Debug(info);
}
}
///
/// Debug级 常规日志
///
/// 日志信息
public static void DebugFormat(string info, params object?[]? args)
{
if (loginfo.IsDebugEnabled)
{
loginfo.DebugFormat(info, args);
}
}
///
/// Debug级 异常日志
///
/// 日志信息
/// 异常信息
public static void Debug(string info, Exception exp)
{
if (loginfo.IsDebugEnabled)
{
loginfo.Debug(info, exp);
}
}
///
/// Error级 常规的日志
///
/// 日志信息
public static void Error(string info)
{
if (loginfo.IsErrorEnabled)
{
loginfo.Error(info);
}
}
///
/// Error 异常日志
///
/// 日志信息
/// 异常信息
public static void Error(string info, Exception exp)
{
if (loginfo.IsErrorEnabled)
{
loginfo.Error(info, exp);
}
}
///
/// Fatal级 常规日志
///
/// 日志信息
public static void Fatal(string info)
{
if (loginfo.IsFatalEnabled)
{
loginfo.Fatal(info);
}
}
///
/// Fatal级 异常日志
///
/// 日志信息
/// 异常信息
public static void Fatal(string info, Exception exp)
{
if (loginfo.IsFatalEnabled)
{
loginfo.Fatal(info, exp);
}
}
///
/// Warn级 常规日志
///
/// 日志信息
public static void Warn(string info)
{
if (loginfo.IsWarnEnabled)
{
loginfo.Warn(info);
}
}
///
/// Warn级 异常日志
///
/// 日志
/// 异常信息
public static void Warn(string info, Exception exp)
{
if (loginfo.IsWarnEnabled)
{
loginfo.Warn(info, exp);
}
}
}
}