文档章节

读写文件之日志文件

vga
 vga
发布于 2016/08/06 06:44
字数 288
阅读 2
收藏 0

我们在写软件的时候,经常要记录一些登陆信息、删除信息之类,便于日后查询。我简单写了一个针对日志文件的类,可以通过此类可以自定义日志文件名称,当日志达到规定大小时,自动备份,路径可以自行定义具体如下: 命名空间:

using System; using System.Web; using System.IO; using System.Text;

具体实现: public class LogFile { protected string LogfileName; // 文件名称 protected string LogPath = "../upedFile"; // 文件路径 protected int LogMaxContent = 2048; // 文件大小 protected string InputContent; // 具体内容

public LogFile() {

}

public LogFile(string StrLogfileName,string StrInputContent,string StrLogPath) { LogfileName = StrLogfileName; InputContent = StrInputContent; LogPath = StrLogPath;

}

public void LogWrite() { // string PathName = System.Web.HttpContext.Current.Server.MapPath(LogPath) + LogfileName; string PathName = System.Web.HttpContext.Current.Server.MapPath(LogPath) + "\" + LogfileName; FileInfo Finfo = new FileInfo(PathName);

string PathNameMove = PathName.Substring(0,PathName.LastIndexOf("\"))+"\" + DateTime.Now.ToString("yyyyMMddhhmm") + LogfileName;

if( Finfo.Exists && Finfo.Length > LogMaxContent ) // 如果超出,重名名 { Finfo.CopyTo(PathNameMove); Finfo.Delete(); }

try { using(FileStream Fs = Finfo.OpenWrite()) { StreamWriter Sw = new StreamWriter(Fs);

 Sw.BaseStream.Seek(0, SeekOrigin.End); //设置写数据流的起始位置为文件流的末尾

 StringBuilder StrInput = new StringBuilder(); // 记录写入的内容
 StrInput.Append("\r\n Log Entry : "); 
 StrInput.Append(DateTime.Now.ToString());
 StrInput.Append("\r\n");
 StrInput.Append(InputContent + "\r\n");
 StrInput.Append("------------------------------------\n");

 Sw.Write(StrInput);    
 Sw.Flush();    
 Sw.Close();
}

} catch { System.Web.HttpContext.Current.Response.Write("<script language=javascript>alert('日志创建失败')</script>"); }

}

本文转载自:http://www.cnblogs.com/skylaugh/archive/2006/03/17/352342.html

共有 人打赏支持
vga

vga

粉丝 21
博文 358
码字总数 24097
作品 0
佳木斯
store4j 简单的基于日志的数据存储

地址:https://code.google.com/p/store4j/ 简介 在Message系统中,经常会有数据大量的保存,并且在很短时间内删除的需求;很明显,这样的需求采用数据库是不合适的,本项目实现了通过文件来...

diwayou
2013/05/28
0
0
mysql的复制集群,及读写分离

为什么要设置mysql集群? 为了减轻,mysql服务器的IO压力,设置多个其他mysql服务器帮他分担读写操作 1.mysql复制集群的类型 主从架构(从服务器只读,不可写) 一主一从, 一主多重 主主架构...

一期一会cc
08/08
0
0
重做日志及归档日志的工作原理解析

开门见山,先来看张图(PS:这张图是我从网上找的): 工作原理: 首先lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出...

Super康
2017/10/17
0
0
RFID设备管理C#客户端学习笔记之5:Timer实时发送指令,存日志文件

利用Timer控件可以自动发送指令到读写器,而自动监控当然就需要将指定的信息存储到日志文件中以方便我们查看其某时刻的状态。我们设定每一秒读写器返回一次识别结果,下侧的statusStripLabe...

realsa
2015/05/12
221
0
mysql-proxy实现读写分离(比较详细)

其中Amoeba for MySQL也是实现读写分离 环境描述: 操作系统:CentOS6.5 32位 主服务器Master:192.168.179.146 从服务器Slave:192.168.179.147 调度服务器MySQL-Proxy:192.168.179.142 由于...

bengozhong
2016/10/11
75
0

没有更多内容

加载失败,请刷新页面

加载更多

打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
3
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
3
0
一个手机装天下,走遍中国都不怕!

导读 “1200元(人民币,下同),微信支付,可以,你扫我。”来自西非马里共和国的展商Albert拿着手机,和一位买走他手鼓的中国游客用简单的汉语交流着。 近日,“第十四届中俄蒙经贸洽谈暨商品...

问题终结者
昨天
2
0
Redis的“死键”问题

大规模的数据库存储系统中,数据的生命周期管理是很有必要的;从业务角度发现过期数据,数据归档和数据碎片整理等。以MySQL为例,1个运行很久的TB级MySQL实例中,极有可能数百GB的数据,对业...

IT--小哥
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部