记录日志的工具类
来源:互联网 发布:图像扫描列数据 编辑:程序博客网 时间:2024/05/18 20:05
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Zhihe.SmartSoftware.Product.Common
{
public enum LogLevel
{
DEBUG,
INFO,
WARN,
ERROR
};
public class Log
{
private static object m_lockObj = new object();
private static string m_strLogFile = null;
private static FileInfo m_file = null;
private static StreamWriter m_writer = null;
public static void InitLog(string _processName)
{
string strCurrentPath = Directory.GetCurrentDirectory();
string strLogPath = strCurrentPath + "\\log\\";
if (!Directory.Exists(strLogPath))
{
Directory.CreateDirectory(strLogPath);
}
m_strLogFile = strLogPath + _processName + "_" +
DateTime.Now.ToString("yyyyMMdd") + ".log";
m_file = new FileInfo(m_strLogFile);
m_writer = m_file.AppendText();
}
public static void Error(string _msg)
{
log(LogLevel.ERROR, _msg);
}
public static void Error(string _className, string _msg)
{
string strMsg = _className + ": " + _msg;
log(LogLevel.ERROR, strMsg);
}
public static void Debug(string _msg)
{
log(LogLevel.DEBUG, _msg);
}
public static void Debug(string _className, string _msg)
{
string strMsg = _className + ": " + _msg;
log(LogLevel.DEBUG, strMsg);
}
public static void Info(string _msg)
{
log(LogLevel.INFO, _msg);
}
public static void Info(string _className, string _msg)
{
string strMsg = _className + ": " + _msg;
log(LogLevel.INFO, strMsg);
}
public static void Warning(string _msg)
{
log(LogLevel.WARN, _msg);
}
private static void log(LogLevel _level, string _msg)
{
if (_msg == null || _msg == "")
{
return;
}
StringBuilder sb = new StringBuilder();
// Time
sb.Append("[");
sb.Append(DateTime.Now.ToString());
sb.Append("] ");
// Level
sb.Append("[");
switch (_level)
{
case LogLevel.DEBUG:
sb.Append("DEBUG");
break;
case LogLevel.INFO:
sb.Append("INFO");
break;
case LogLevel.WARN:
sb.Append("WARN");
break;
default:
sb.Append("ERROR");
break;
}
sb.Append("] ");
// Content
sb.Append(_msg);
writeFile(sb.ToString());
}
private static void writeFile(string _strLine)
{
lock (m_lockObj)
{
try
{
m_writer.WriteLine(_strLine);
m_writer.Flush();
}
catch (Exception)
{ }
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Zhihe.SmartSoftware.Product.Common
{
public enum LogLevel
{
DEBUG,
INFO,
WARN,
ERROR
};
public class Log
{
private static object m_lockObj = new object();
private static string m_strLogFile = null;
private static FileInfo m_file = null;
private static StreamWriter m_writer = null;
public static void InitLog(string _processName)
{
string strCurrentPath = Directory.GetCurrentDirectory();
string strLogPath = strCurrentPath + "\\log\\";
if (!Directory.Exists(strLogPath))
{
Directory.CreateDirectory(strLogPath);
}
m_strLogFile = strLogPath + _processName + "_" +
DateTime.Now.ToString("yyyyMMdd") + ".log";
m_file = new FileInfo(m_strLogFile);
m_writer = m_file.AppendText();
}
public static void Error(string _msg)
{
log(LogLevel.ERROR, _msg);
}
public static void Error(string _className, string _msg)
{
string strMsg = _className + ": " + _msg;
log(LogLevel.ERROR, strMsg);
}
public static void Debug(string _msg)
{
log(LogLevel.DEBUG, _msg);
}
public static void Debug(string _className, string _msg)
{
string strMsg = _className + ": " + _msg;
log(LogLevel.DEBUG, strMsg);
}
public static void Info(string _msg)
{
log(LogLevel.INFO, _msg);
}
public static void Info(string _className, string _msg)
{
string strMsg = _className + ": " + _msg;
log(LogLevel.INFO, strMsg);
}
public static void Warning(string _msg)
{
log(LogLevel.WARN, _msg);
}
private static void log(LogLevel _level, string _msg)
{
if (_msg == null || _msg == "")
{
return;
}
StringBuilder sb = new StringBuilder();
// Time
sb.Append("[");
sb.Append(DateTime.Now.ToString());
sb.Append("] ");
// Level
sb.Append("[");
switch (_level)
{
case LogLevel.DEBUG:
sb.Append("DEBUG");
break;
case LogLevel.INFO:
sb.Append("INFO");
break;
case LogLevel.WARN:
sb.Append("WARN");
break;
default:
sb.Append("ERROR");
break;
}
sb.Append("] ");
// Content
sb.Append(_msg);
writeFile(sb.ToString());
}
private static void writeFile(string _strLine)
{
lock (m_lockObj)
{
try
{
m_writer.WriteLine(_strLine);
m_writer.Flush();
}
catch (Exception)
{ }
}
}
}
}
0 0
- 记录日志的工具类
- 记录log日志文件的工具类
- 记录日志的工具类LogWriter
- 网站记录错误日志的工具ELMAH
- 日志记录工具的基本介绍
- 好用的日志记录工具,NLog
- 浅析Log4j 日志记录工具的使用
- 自定义Log4j日志记录工具类
- 一个错误日志记录工具类
- ORACLE日志记录工具
- Java 日志记录工具
- Android日志记录工具
- linux shell日志工具类 可以记录日志用
- linux shell日志工具类 可以记录日志用
- java的日志记录工具 slf4j的使用
- 简单的日志记录类。
- 日志类的学习记录
- 使用日志记录工具log4j
- 南邮 OJ 1128 An Industrial Spy
- 在ubuntu12.04中安装wine和sourceinsight
- c++中堆、栈内存分配
- proguard 提示Warning: can't find referenced field/method '...' in library class ...等问题
- /sys/class/gpio 文件接口操作IO端口(s3c2440)
- 记录日志的工具类
- iOS开发_常用的正则表达式
- No system images installed for this target
- 当设置RESULT_CACHE_MAX_SIZE参数并且重启过database后,Query Result Cache 还是被禁用的。
- socat-fu-lesson
- java与C进行socket通信中的通信异常问题
- 多线程的基本概念
- SDUToj1730数字三角形问题
- 程序员禅的10条法则