文档章节

读写文件之日志文件

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
博文 362
码字总数 24609
作品 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
5款最优秀的Linux自由日志文件查看器

服务器日志是一台服务器创建和更新的日志文件。一个常见的例子是Apache(开源Web服务器软件)生成的访问日志,它提供了网页请求的历史。然 而,Apache不只是收集访问的信息,它还为错误日志收...

红薯
2010/06/06
736
0
裸设备和Oracle问答20例

1.什么叫做裸设备? 裸设备,也叫裸分区(原始分区),是一种没有经过格式化,不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对它进行读写操作。不经过文件系统的缓冲。 2.如何...

linuxprobe
2016/06/24
2
0

没有更多内容

加载失败,请刷新页面

加载更多

《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
19分钟前
0
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
28分钟前
1
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
33分钟前
1
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
57分钟前
2
0
exportfs命令, vsftp搭建ftp服务

exportfs命令 当修改/etc/exports文件后,更改的内容是不会立即生效的。如果重启nfs服务,会导致客户端重启期间的请求是挂起等待的,可以把客户端的挂载umount进行卸载后,再重启nfs服务,但...

野雪球
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部