20190422添加换行以及时间记录

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace DAL
{
public class TXTLogHelper
{
/// <summary>
/// 对某些操作进行TXT日志记录
/// </summary>
public static void LogBackup(string LogString)
{
//处理logstring,添加日期和换行
LogString = DateTime.Now.ToString() + ":" +LogString;
LogString += "\r\n"; string logFolder = GetOrCreateLogFilePath();
string logFile = GetBackupLogFileName(); FileInfo file = new FileInfo(logFile);
FileStream fs = file.Open(FileMode.Append, FileAccess.Write);
byte[] bytes = Encoding.UTF8.GetBytes(LogString);
fs.Write(bytes, , bytes.Length);
fs.Flush();
fs.Close();
fs.Dispose();
} //获取目录路径,如果不存在则创建
private static string GetOrCreateLogFilePath()
{
string backupFolder = System.Environment.CurrentDirectory + "\\log";
if (!Directory.Exists(backupFolder))
Directory.CreateDirectory(backupFolder);
return backupFolder;
} private static string GetBackupLogFileName()
{
//为了防止数据量过大,按照日期每天生成一个日志文件
string logFileId = DateTime.Now.ToString("yyyy-MM-dd");
return GetOrCreateLogFilePath() + "\\" + logFileId + ".txt";
}
}
}

废话不说,直接上代码

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Utilities
{
public class TXTLogHelper
{
/// <summary>
/// 对某些操作进行TXT日志记录
/// </summary>
public static void LogBackup(string LogString)
{
string logFolder = GetOrCreateLogFilePath();
string logFile = GetBackupLogFileName(); FileInfo file = new FileInfo(logFile);
FileStream fs = file.Open(FileMode.Append, FileAccess.Write);
byte[] bytes = Encoding.UTF8.GetBytes(LogString);
fs.Write(bytes, , bytes.Length);
fs.Flush();
fs.Close();
fs.Dispose();
} //获取备份目录路径,如果不存在则创建
private static string GetOrCreateLogFilePath()
{
string backupFolder = System.Environment.CurrentDirectory + "\\log";
if (!Directory.Exists(backupFolder))
Directory.CreateDirectory(backupFolder);
return backupFolder;
} private static string GetBackupLogFileName()
{
//为了防止数据量过大,按照日期每天生成一个日志文件
string logFileId = DateTime.Now.ToString("yyyy-MM-dd");
return GetOrCreateLogFilePath() + "\\" + logFileId + ".txt";
}
}
}

20181015记录一个简单的TXT日志类的更多相关文章

  1. 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块

    Log4a 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块 github地址 : https://github.com/EalenXie/log4a 在API每次被请求时 ...

  2. 简单实用的日志类CLog (Python版)

    #coding: utf-8 import time ''' /***************************************************************** Fu ...

  3. 如何用C++封装一个简单的数据流操作类(附源码),从而用于网络上的数据传输和解析?

    历史溯源 由于历史原因,我们目前看到的大部分的网络协议都是基于ASCII码这种纯文本方式,也就是基于字符串的命令行方式,比如HTTP.FTP.POP3.SMTP.Telnet等.早期操作系统UNIX( ...

  4. java使用注解和反射打造一个简单的jdbc工具类

    a simple jdbc tools 如有转载和引用,请注明出处,谢谢 1. 定义我们需要的注解 要想实现对数据库的操作,我们必须知道数据表名以及表中的字段名称以及类型,正如hibernate 使用 ...

  5. 一个简单的php分页类代码(转载)

    入门级php分页类 原文地址:http://www.xfcodes.com/php/fenye/3608.htm 时间:2015-12-16 20:52:00来源:网络 php分页类. 复制代码代码如 ...

  6. 一个简单实现的string类

    为了复习c++知识,简单的实现一个string类,类名为CMyString 环境说明:windows 7 64位 和 CentOS Linux release 7.6.1810 (Core) 开发工具 ...

  7. [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)

    前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...

  8. 通过一个简单的数据库操作类了解PHP链式操作的实现

    class Model{ public $table; //操作的表; private $opt; //查询的参数; private $pri; //表的主键; private $lastSql; / ...

  9. 一个简单的redis调用类

    能只能判断函数的调用规则,容错规则, 例如set函数 set($key, $value, $time = false) 根据time的真假来判断是否使用set,或者是setex函数 get函数 get ...

随机推荐

  1. 树莓派项目——基于树莓派的WIFI网络互传系统设计

    一 实验原理 所需硬件:树莓派3B,TP-LINK WiFi模块,笔记本电脑,网线 所需软件:Putty.远程桌面链接.python.cmd界面 树莓派3B是只有信用卡大小的微型电脑,其系统基于Lin ...

  2. goim源码分析与二次开发-comet分析二

    这篇就是完全原版了,作为一个开始,先介绍comet入口文件main.go 第一步是初始化配置,还有白名单.还有性能监口,整体来说入口代码简洁可读性很强 然后开始初始化监控,还有bukcet这里buck ...

  3. fieldOfView

    fieldOfView 属性 fieldOfView:Number 语言版本:  ActionScript 3.0 运行时版本:  Flash Player 10, AIR 1.5 为三维视野指定一个 ...

  4. 跳跃游戏 12 · Jump Game 12

    跳跃游戏 1 [抄题]: [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷]: 由于要用itera ...

  5. 前后台交互(打开前端页面,不传递任何数据,发送ajax请求)

    1.打开前端,不传递任何数据 <script src="./jquery.min.js"></script> <script> $(docume ...

  6. c++11 改进设计模式 Singleton模式

    关于学习 <深入应用c++11>的代码笔记: c++11之前是这么实现的 template<typename T> class Singleton{ public: stati ...

  7. bootstrap-datepicker 与bootstrapValidator同时使用时,选择日期后,无法正常触发校验

    bootstrap-datepicker 与bootstrapValidator同时使用时,选择日期后,无法正常触发校验 (解决办法) http://blog.csdn.net/biedazhangs ...

  8. 【JS】判断浏览器类型

    判断原理 JavaScript是前端开发的主要语言,我们可以通过 编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性 ...

  9. CentOS 6.5 搭建cuda环境

    首先这一篇文章是我搞了N多天后,才成功一点经验,为了不至于下次搭建时忘记,所以记录下来.nivida官网有一个文档,大家可以下载看一下 https://developer.nvidia.com/cud ...

  10. Basic4android v3.80 beta 发布

    增加了条件编译,共享模块,部分支持jar 文件直接访问.还有其他一些更新. I'm happy to release B4A v3.80 BETA. This version includes sev ...