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上面看到有人找记录错误日志的类,可以记录机器名,时间..
正好有空,就胡乱写了一个.但是有一点还是不太清楚,日志类的记录方法到底静态的好呢?还是普通的好呢?欢迎朋友多提宝贵意见和看法.
查看全文
相关阅读:
PL/SQL Developer 和 instantclient客户端安装配置(图文)
VirtualBox + Centos 使用NAT + Host-Only 方式联网
zookeeper的安装
Socket编程基础篇
WebSocket教程(二)
WebSocket教程(一)
Js判断浏览器类型
JVM内存模型
js 正则去除指定的单词
Java线上应用故障排查之一:高CPU占用
原文地址:https://www.cnblogs.com/snowlove67/p/273040.html
最新文章
PHP设计模式-注册模式
PHP设计模式-工厂模式
PHP设计模式-工厂模式
Xdebug----Failed loading
Vue+Element-Ul环境搭建
phpstudy2018+Laravel
Oracle12C SGA PGA UGA
跨版本mysqldump恢复报错Errno1449
mysql的GTID复制和多源复制
rman恢复增加ADG(级联ADG)
热门文章
深入理解mysql的隔离级别
mysql5.6新建的user为啥会看到没有授权过的db?
oracle的约束隐式创建索引和先索引后约束的区别
EXADATA智能扫描
impdp报错ORA-39083 ORA-02304 Object type TYPE failed to create
mysql5.6配置semi_sync
oracle批量修改多个表的数据
idea 小技巧
IntelliJ IDEA常用设置及快捷键
Log.properties配置详解
Copyright © 2011-2022 走看看