zoukankan
html css js c++ java
自己写的一个日志记录类
using
System;
using
System.IO;
using
System.Net;
namespace
Utils
{
public
class
LogWritter
{
//
禁止创建同时存在多个对象
private
LogWritter()
{}
private
static
LogWritter m_logger
=
null
;
public
static
LogWritter CreateInstance()
{
if
(m_logger
==
null
)
{
m_logger
=
new
LogWritter();
}
return
m_logger;
}
//
设置保存文件位置
private
string
m_filePath
=
string
.Empty;
public
void
SetFilePath(
string
fileName)
{
if
(
!
m_filePath.Equals(fileName))
{
m_filePath
=
fileName;
}
}
/**/
///
<summary>
///
写日志,时间,机器名,日志内容
///
</summary>
///
<param name="content"></param>
public
void
WriteLog(
string
content)
{
string
hostName
=
Dns.GetHostName();
if
(
!
File.Exists(m_filePath))
{
FileStream fStream
=
new
FileStream(m_filePath, FileMode.CreateNew);
fStream.Flush();
fStream.Close();
fStream
=
null
;
}
StreamWriter sWriter
=
new
StreamWriter(m_filePath,
true
, System.Text.Encoding.Default);
string
txtTime
=
"
\n
"
+
"
时间 :
"
+
DateTime.Now.ToString();
string
txtHost
=
"
\n
"
+
"
机器名 :
"
+
hostName;
string
txtError
=
"
\n
"
+
"
错误信息 :
"
+
content;
string
textWrite
=
txtTime
+
txtHost
+
txtError;
sWriter.WriteLine(textWrite);
sWriter.Flush();
sWriter.Close();
sWriter
=
null
;
}
}
}
使用的时候呢,在需要记录的类里面新建一个全局变量,然后初始化,然后设置文件位置.之后就可以记录日志了.
例如:
class
Test
{
private
Utils.LogWritter m_logger
=
null
;
public
Test()
{
m_logger
=
Utils.LogWritter.CreateInstance();
m_logger.SetFilePath(
@"
C:\TestLog.txt
"
);
}
static
void
Main()
{
try
{
string str = "a";
str
.Substring(0, 2);
}
catch
(Exception ee)
{
m_logger.WriteLog(ee.ToString());
}
}
}
今天在csdn上面看到有人找记录错误日志的类,可以记录机器名,时间..
正好有空,就胡乱写了一个.但是有一点还是不太清楚,日志类的记录方法到底静态的好呢?还是普通的好呢?欢迎朋友多提宝贵意见和看法.
查看全文
相关阅读:
大文件上传插件
大文件上传解决方案
up7-文件保存位置
up6-自定义文件存储路径
up7.1-asp.net-本地测试教程
文件上传控件产品比较
IIS支持解析json
IE8控件安装方法
IE9控件安装方法
gets()函数详解和缺陷
原文地址:https://www.cnblogs.com/snowlove67/p/273040.html
最新文章
Vue + Vuex 简单使用
The Reset Method of Te Philips VTR 5210
Laravel 事件侦听的几个方法 [Trait, Model boot(), Observer Class]
BOOTING ELOQUENT MODEL TRAITS
Mac中iterm2显示彩色
如何打开Mac OSX 终端的颜色
laravel Passport
版本控制软件使用
MariaDb 严格默认严格模式导致有 NULL 值新增失败 (sql_model STRICT)
cdh部署
热门文章
解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.
Ubuntu 14.04 apt-get更换阿里云源
解决Ubuntu中vi命令的编辑模式下不能正常使用方向键和退格键的问题
oracle数据库中varchar2陷阱
复制vmware主机修改网卡
oracle建包,函数demo
dbms_metadata.get_ddl的用法(DDL)
yield函数的理解
为什么用pycharm在同目录下import,pycharm会报错,但是实际可以运行?
大文件上传组件
Copyright © 2011-2022 走看看