日志log
public class LoggerHelper
{
private static Queue<string> qMsg = null;
private static string logFilePath = @"D:\log\"+ DateTime.Now.ToString("yyyy-MM-dd") + ".txt";//当然也可以改成读取配置文件
static LoggerHelper()
{
qMsg = new Queue<string>();
//存入日志
Run();
}
public static void WriteLog(string strLog)
{
if (string.IsNullOrEmpty(strLog))
{
return;
}
strLog = strLog.Replace("\n", "\r\n");
if (!File.Exists(logFilePath))
{
File.Create(logFilePath).Dispose();
}
using (StreamWriter sw = File.AppendText(logFilePath))
{
sw.WriteLine("[" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + "] " + strLog);
}
}
public static void Run()
{
ThreadPool.QueueUserWorkItem(a =>
{
while (true)
{
string tmsg = string.Empty;
lock (qMsg)
{
)
tmsg = qMsg.Dequeue();
}
if (!String.IsNullOrEmpty(tmsg))
{
WriteLog(tmsg);
}
)
{
Thread.Sleep();
}
}
});
}
public static void Run2()
{
Task.Run(() =>
{
while (true)
{
string tmsg = string.Empty;
lock (qMsg)
{
)
tmsg = qMsg.Dequeue();
}
if (!String.IsNullOrEmpty(tmsg))
{
WriteLog(tmsg);
}
)
{
Thread.Sleep();
}
}
});
}
public static void WriteLogAsync(string strlog)
{
lock (qMsg)
{
qMsg.Enqueue(strlog);
}
}
public static void WriteLogAsync(string filepath, string strlog)
{
if (string.IsNullOrEmpty(filepath))
{
WriteLogAsync(strlog);
}
else
{
logFilePath = filepath;
lock (qMsg)
{
qMsg.Enqueue(strlog);
}
}
}
}
使用:
static void Main(string[] args)
{
string filepath=@"F:\log\"+ DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
Parallel.For(,,index=>{
string msg1 = "test" + index.ToString();
LoggerHelper.WriteLogAsync("", msg1);
});
Console.ReadLine();
}
日志log的更多相关文章
- 如何正确使用日志Log
title: 如何正确使用日志Log date: 2015-01-08 12:54:46 categories: [Python] tags: [Python,log] --- 文章首发地址:http ...
- 一件关于数据库日志log的无聊事情
为何说是无聊的记录呢? 因为事先把问题想复杂了,事后发现的时候觉得更是无聊的行为.还是写下来,毕竟很少弄这么无聊的事情. 事情起因是需要给服务器做性能基数(baseline),用sqldiag 提取了 ...
- Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- C# 分析 IIS 日志(Log)
由于最近又要对 IIS日志 (Log) 分析,以便得出各个搜索引擎每日抓取的频率,所以这两天一直在尝试各个办法来分析 IIS 日志 (Log),其中尝试过:导入数据库.Log parser.Powse ...
- sql2008r 收缩数据库日志log文件;删除errorlog文件的方法
1.清空log文件,以减少数据库文件log所占的空间 USE dbname1 ; GO ALTER DATABASE dbname1 SET RECOVERY SIMPLE;--设置简单恢复模式 GO ...
- 关于调试日志Log
__VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持).宏前面加上##的作用在于,当可变参数的个数为0时,这里的## ...
- 向服务器写入错误日志-log
/// <summary> /// 写日志,方便测试(看网站需求,也可以改成把记录存入数据库) /// </summary> /// <param name=" ...
- git日志--log
1. 查找改动某个文件所有的日志 git log --pretty=oneline somefile.java git log --oneline somefile.java git log --pr ...
- 日志log4j配置详情,日志log具体到你想不到
一.Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局). 1.LoggersLoggers组件在此系统中被分为五个级别:DEBU ...
随机推荐
- Python学习日志(二)
在网易云课堂看到小甲鱼的python视频,想起以前看就是看他的视频学C的虽然后来不了了之都怪我自己啦,于是决定跟着这个视频来学python啦! IDLE IDLE其实是一个python shell , ...
- From cls答辩
我没有想过有一天会因为wjmzbmr而开一篇. 因为看到了cls答辩的链接而震撼或是感动. 可能也跟最近身心比较疲惫有关...容易产生这样那样的感触... cls可能已不是我们这代OIER所能膜到的了 ...
- linux菜鸟日记(4)
使用一个简单的for循环和if判断语句实现某个网段内所有ping所有客户机的shell程序: ..} do >&; then echo " ${i}通" else e ...
- LintCode 78:Longest Common Prefix
public class Solution { /** * @param strs: A list of strings * @return: The longest common prefix ...
- fatal error
1. fatal error C1083: 无法打开源文件 编译报此错误: 1>c1xx : fatal error C1083: 无法打开源文件:“Projects\XXXCCCC\VB ...
- linux下tomcat安装
1.先安装jdk,我们这里用yum进行安装: yum -y install java-1.7.0-openjdk* 确定是否安装成功: java -version 如果显示jdk的版本信息,说明安装成 ...
- dd——留言板再加验证码功能
1.找到后台-核心-频道模型-自定义表单 2.然后点击增加新的自定义表单 diyid 这个,不管他,默认就好 自定义表单名称 这个的话,比如你要加个留言板还是投诉建议?写上去呗 数据表 这个不要碰, ...
- eclipse的SVN插件去除无效的文件
- JS 将数字转化成为货币格式
最近由于项目的需要需要将数字format成货币格式,自己搞了半天效果不是很好,博客园有篇问题很好,再次转载记录一下 http://www.cnblogs.com/mingmingruyuedlut/a ...
- 浏览器调试js技巧总结
一.控制台console的运用 console.log(aa|'aa'): 将需要打印的东西输出的控制台,在调试的时候很有用,可以知道aa是否是自己想要的数据类型,或者可以知道程序是否执行到了这一步, ...