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. Asp.net中FileUpload控件实现图片上传并带预览显示

    单一图片上传——“选择”+“上传”,.NET默认模式: 1.实现原理:     采用FileUpload控件默认的使用方式,先由“选择”按钮选择图片,然后单击“上传”按钮完成上传,并可在“上传”按钮的 ...

  2. 【校招面试 之 C/C++】第29题 C/C++ 关键字extern

    1.extern "C" extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码.加上extern "C"后,会指示 ...

  3. python之面向对象之反射运用

    先看下hasattr和getattr在反射中的用法 import sys class apache(object): def __init__(self,tcp): self.tcp = tcp de ...

  4. php多进程 防止出现僵尸进程

    对于用PHP进行多进程并发编程,不可避免要遇到僵尸进程的问题. 僵尸进程是指的父进程已经退出,而该进程dead之后没有进程接受,就成为僵尸进程(zombie)进程.任何进程在退出前(使用exit退出) ...

  5. QTextCodec 类

    https://blog.csdn.net/qq_23948025/article/details/45500637

  6. DefaultSingletonBeanRegistry

    DefaultSingletonBeanRegistry 这是 DefaultSingletonBeanRegistry 类的体系结构,由一个类一个责任的原则: AliasRegistry : 提供别 ...

  7. TF Boys (TensorFlow Boys ) 养成记(二): TensorFlow 数据读取

    TensorFlow 的 How-Tos,讲解了这么几点: 1. 变量:创建,初始化,保存,加载,共享: 2. TensorFlow 的可视化学习,(r0.12版本后,加入了Embedding Vis ...

  8. Dice 5 ==> dice 7

    https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...

  9. java中配置自定义拦截器中exclude-mapping path是什么意思?

    <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/>//过滤全部请求 & ...

  10. python corrcoef

    该函数得到相关系数矩阵. 例子: vc=[1,2,39,0,8] vb=[1,2,38,0,8] print mean(multiply((vc-mean(vc)),(vb-mean(vb))))/( ...