using System;
using System.IO;
using System.Text; namespace Core
{
public class LogHelper
{
private static void writeLog(string log)
{ string strFilePath = AppDomain.CurrentDomain.BaseDirectory + "logs\\log.txt";
string strDirPath = Path.GetDirectoryName(strFilePath);
if (!Directory.Exists(strDirPath))//Directory.Exists(dirPath)目录的路径
Directory.CreateDirectory(strDirPath);//Directory.CreateDirectory(path)创建目录
strFilePath = Path.Combine(strDirPath, "log" + string.Format("{0:yyyyMMdd}", DateTime.Now) + ".txt");//Path.Combine(strpath1,strpath2)
if (!File.Exists(strFilePath))//File.Exists(path),指定路径的文件是否存在
{
//FileStream fsCreate = File.Create(strFilePath);//创建路径
FileStream fsCreate = new FileStream(strFilePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fsCreate.Close();
}
FileStream fs = new FileStream(strFilePath, FileMode.Append,FileAccess.Write);//任何读取操作都会报异常
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
sw.WriteLine("--------------------------------------------");
sw.WriteLine("Timestamp: "+DateTime.Now.ToString());
sw.WriteLine("Message: " + log);
sw.WriteLine("--------------------------------------------");
sw.Close();
fs.Close();
}
//打印普通信息
public static void WriteInfo(string objectName, string info)
{ writeLog(objectName + ":" + info); } public static void WriteInfo(string objectName, string info, int lines)
{
string strlines = "";
for (int i = ; i < lines; i++)
{
strlines += "\r\n";
}
writeLog(objectName+":"+info);
//writeLog(strlines + DateTime.Now.ToString() + " INFO " + objectName + " " + info);
}
//打印错误信息
public static void WriteError(string objectName, string error)
{
writeLog(objectName+":"+error);
//writeLog(DateTime.Now.ToString() + " ERROR " + objectName + " " + error);
} public static void WriteError(string objectName, string error, int lines)
{
string strlines = "";
for (int i = ; i < lines; i++)
{
strlines += "\r\n";
}
writeLog(objectName + ":" + error);
//writeLog(strlines + DateTime.Now.ToString() + " ERROR " + objectName + " " + error);
} }
}

Logger日志打印普通方法的更多相关文章

  1. Logger日志打印规范

    首先来看一下比较常用的Logger日志级别(部分未列出): error - 运行期错误日志记录,应该有专门的error日志文件.: warn - 警告信息,如程序调用了一个即将作废的接口,接口的不当使 ...

  2. 深入理解Logger日志——框架绑定原理

    深入理解Logger日志--框架绑定原理 说到Logger日志的动态绑定,主要归功与Slf4j,在之前的文章也说过,Slf4j是类似于Apache Common-Logging,英文为Simple L ...

  3. Android日志打印类LogUtils,能够定位到类名,方法名以及出现错误的行数并保存日志文件

    Android日志打印类LogUtils,能够定位到类名,方法名以及出现错误的行数并保存日志文件 在开发中,我们常常用打印log的方式来调试我们的应用.在Java中我们常常使用方法System.out ...

  4. Python 日志打印之自定义logger handler

    日志打印之自定义logger handler By:授客 QQ:1033553122 #实践环境 WIN 10 Python 3.6.5 #实践代码 handler.py #!/usr/bin/env ...

  5. 打印 Logger 日志时,需不需要再封装一下工具类?

    在开发过程中,打印日志是必不可少的,因为日志关乎于应用的问题排查.应用监控等.现在打印日志一般都是使用 slf4j,因为使用日志门面,有助于打印方式统一,即使后面更换日志框架,也非常方便.在 < ...

  6. Logger日志级别说明及设置方法、说明 (zhuan)

    http://blog.csdn.net/rogger_chen/article/details/50587920 ****************************************** ...

  7. Logger日志级别说明及设置方法、说明

    日志记录器(Logger)是日志处理的核心组件.log4j具有5种正常级别(Level).日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j ...

  8. Python同时向控制台和文件输出日志logging的方法 Python logging模块详解

    Python同时向控制台和文件输出日志logging的方法http://www.jb51.net/article/66756.htm 1 #-*- coding:utf-8 -*- 2 import ...

  9. Java编码常见的Log日志打印问题

    前言 本文总结了作者在Java代码检视中遇到的一些关于日志打印的问题,并给出修改建议.因能力有限,难免存在错漏,欢迎指正. 一. 不规范的异常打印 使用slf4j日志组件时,logger.error( ...

随机推荐

  1. Spring Web Flow 简介

    Spring Web Flow 简介 博客分类: 转载 SSH 最近在TSS上看到了一片介绍Spring Web Flow的文章,顺便就翻译了下来,SWF的正式版估计要到6月份才能看到了,目前的例子都 ...

  2. Objective-C:Foundation框架-常用类-NSArray

    NSArray是用来存储对象的有序列表(NSSet是没有顺序的),它是不可变的.NSArray不能存储C语言中的基本数据类型,如int\float\enum\struct等,也不能存储nil.其用法如 ...

  3. Java JDK 动态代理使用及实现原理分析

    转载:http://blog.csdn.net/jiankunking   一.什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委托类预处理 ...

  4. BZOJ3888 [Usaco2015 Jan]Stampede

    我们只要把每头牛开始遮挡视线和结束遮挡视线的时间点都搞出来就好= = 再按照y轴排序...然后变成线段覆盖了..线段树搞一下就好了? /******************************** ...

  5. Disaster Recovery, High Availability, and Continuous Availability - What's the Difference?

    Disaster Recovery, High Availability, and Continuous Availability - What's the Difference? Posted by ...

  6. Xcode连接git@osc

    Xcode 已经集成了git,建立新项目时钩选使用git,然后按照下面步骤让Xcode和git@osc 建立连接. 第一步:成生SSH密钥 打开终端命令工具,输入命令:ssh-keygen -t rs ...

  7. Halcon 10.0:Hobject图像转CBitmap

    void HImage2CBitmap(Hobject pImage,CBitmap *wImage) { char lpcsType[MAX_STRING]; Hlong lPointer,widt ...

  8. PowerMock与EasyMock的应用(转)

    Leader请求在做Junit测试的时辰,Mock掉各个办法之间的依附.这两天进修了下PowerMock的应用. PowerMock是EasyMock的一个扩大,参加了static,final,pri ...

  9. Redis系列-存储篇string主要操作函数小结

    通过上两篇的介绍,我们的redis服务器基本跑起来.db都具有最基本的CRUD功能,我们沿着这个脉络,开始学习redis丰富的数据结构之旅,当然先从最简单且常用的string开始. 1.新增 a)se ...

  10. ASP.NET MVC学习之控制器篇(二)

    原文链接:http://www.asp.net/learn/mvc/ 这篇教程探索了ASP.NET MVC控制器(controller).控制器动作(controller action)和动作结果(a ...