Stopwatch + C#打印日志方法
打印一个接口、方法的运行时间在程序中是很容易遇到的一件事情;现在,我就分享一个我在工作中使用的临时打印日志的方法和结合 Stopwatch 打印测量某个时间间隔的运行时间的方法。
Stopwatch 实例可以很好的测量一个时间间隔的运行时间;以下例子是比较常用到的:
引用命名空间: using System.Diagnostics;
Stopwatch//Stopwatch 实例
Start;//开始或继续测量某个时间间隔的运行时间
Elapsed;//获取当前实例测量得出的总运行时间(以时分秒为单位)
ElapsedMilliseconds;//获取当前实例测量得出的总运行时间(以毫秒为单位)
Reset;//停止时间间隔测量,并将运行时间重置为零
Restart;//停止时间间隔测量,并将运行时间重置为零,然后开始测量运行时间
打印日志方法,目录也可以自己指定:
public static void WriteError(string message)
{
string path = AppDomain.CurrentDomain.BaseDirectory;//获取基目录
path = System.IO.Path.GetDirectoryName(path) + " \\ErrorLogs";//设置输出日志输出目录
try
{
if (!System.IO.Directory.Exists(path))
{
System.IO.Directory.CreateDirectory(path);
}
string fileName = System.IO.Path.Combine(path, DateTime.Now.ToString("yyyy-MM-dd") + ".log");
System.IO.StreamWriter sw = new System.IO.StreamWriter(fileName, true);//文件流创建写数据流
sw.WriteLine(DateTime.Now.ToString("HH:mm:ss:fff") + " -------------------");
sw.WriteLine(message);
sw.WriteLine();
sw.Close();//关闭写数据流
}
catch
{
}
}
结合Stopwatch 使用打印测量某个时间间隔的运行时间的方法
var s = new Stopwatch();
//需要测试运行时间的的代码
WriteError(s.ElapsedMilliseconds.ToString() + " GetNewUpdateFileList");//打印运行时间
s.Reset();
注:方法为小七在工作中用到的方法,如果转载,请注明出处;
有不对或遗漏的地方,欢迎指出;
欢迎评论;
Stopwatch + C#打印日志方法的更多相关文章
- [转]shell脚本打印日志方法
该文章转自:http://blog.csdn.net/wylfengyujiancheng/article/details/50019299 ----------------------------- ...
- Tomcat控制台总是打印日志问题的解决办法
问题 使用gradle启动项目,在tomcat控制台中不停地打印perf4j性能日志,导致开发过程很卡很慢.明明修改了logback.xml配置文件,让它输出到log文件中,而不是控制台,但是不起作用 ...
- Mybatis框架基于映射文件和配置文件的方式,实现增删改查,可以打印日志信息
首先在lib下导入: 与打印日志信息有关的架包 log4j-1.2.16.jar mybatis架包:mybatis-3.1.1.jar 连接数据库的架包:mysql-connector-java-5 ...
- Log打印日志遇到的问题
Log日志打印出现空指针问题 AndroidRuntime(372): Caused by: java.lang.NullPointerException: println needs a messa ...
- Asp.net Core中使用NLog,并封装成公共的日志方法
1.安装NLog "NLog.Extensions.Logging": "1.0.0-rtm-alpha4" 2.配置NLog public void Conf ...
- android112 c代码打印日志,c反编译调用java
activity: package com.itheima.ccalljava; import android.os.Bundle; import android.app.Activity; impo ...
- ruby脚本打印日志到rspec的报告文件中
在通过ruby+webdriver+rspec做自动化测试的时候,为了便于观察用例执行情况,我基本上都会用 rspec XX.rb --format doc -o result.log 如果遇到失败的 ...
- Log4j配置的经典总结,打印日志文件,日志存库
一.介绍 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制 日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Sy ...
- 以打印日志为荣之logging模块详细使用
啄木鸟社区里的Pythonic八荣八耻有一条: 以打印日志为荣 , 以单步跟踪为耻; 很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python ...
随机推荐
- sed修炼系列(二):sed武功心法(info sed翻译+注解)
sed系列文章: sed修炼系列(一):花拳绣腿之入门篇sed修炼系列(二):武功心法(info sed翻译+注解)sed修炼系列(三):sed高级应用之实现窗口滑动技术sed修炼系列(四):sed中 ...
- [Linux] deepin15.8搭建LNMP环境
LAMP和LNMP LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP 安装nginx sudo apt install nginx 安装 ...
- Spring MVC 学习总结(十一)——IDEA+Maven+多模块实现SSM框架集成
一.SSM概要 与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC ...
- C#实现给图片加边框的方法
Bitmap bit= new Bitmap(@"" + Path);//给图片加边框 //Bitmap bit = new Bitmap(Screen.AllScreens[0] ...
- 30.QT-渐变之QLinearGradient、 QConicalGradient、QRadialGradient
渐变有三种:QLinearGradient.QConicalGradient . QRadialGradient 它们都有一个QGradient父类 QGradient父类的常用公共函数有: void ...
- Java_冒泡排序_原理及优化
冒泡排序及其优化 一.原理及优化原理 1.原理讲解 冒泡排序即:第一个数与第二个数进行比较,如果满足条件位置不变,再把第二个数与第三个数进行比较.不满足条件则替换位置,再把第二个数与第三个数进行比较, ...
- Java基础IO流(四)序列化与反序列化
对象的序列化与反序列化: 对象的序列化,就是将Object转换成byte序列,反之叫对象的反序列化. 序列化流(ObjectOutInputStream),是过滤流 -------writeObjec ...
- 异常: Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed, Message from ResourceManager: NodeManager from localhost doesn't satisfy minimum allocations, Sending SHUTDOWN s
异常: Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed, Message from ...
- 新浪微博登陆以及发送微博(附python源码)
原文链接(本人):https://blog.csdn.net/A5878989/article/details/76275855 说明 本文主要记录分析新浪微博登陆以及发送文字和图片微博的详细过程 分 ...
- springboot之单元测试
springboot在写完之后,肯定都需要进行单元测试,如下给出一些样例 工程层次结构如图 代码如下: controller: package com.rookie.bigdata.controlle ...