打印一个接口、方法的运行时间在程序中是很容易遇到的一件事情;现在,我就分享一个我在工作中使用的临时打印日志的方法和结合 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#打印日志方法的更多相关文章

  1. [转]shell脚本打印日志方法

    该文章转自:http://blog.csdn.net/wylfengyujiancheng/article/details/50019299 ----------------------------- ...

  2. Tomcat控制台总是打印日志问题的解决办法

    问题 使用gradle启动项目,在tomcat控制台中不停地打印perf4j性能日志,导致开发过程很卡很慢.明明修改了logback.xml配置文件,让它输出到log文件中,而不是控制台,但是不起作用 ...

  3. Mybatis框架基于映射文件和配置文件的方式,实现增删改查,可以打印日志信息

    首先在lib下导入: 与打印日志信息有关的架包 log4j-1.2.16.jar mybatis架包:mybatis-3.1.1.jar 连接数据库的架包:mysql-connector-java-5 ...

  4. Log打印日志遇到的问题

    Log日志打印出现空指针问题 AndroidRuntime(372): Caused by: java.lang.NullPointerException: println needs a messa ...

  5. Asp.net Core中使用NLog,并封装成公共的日志方法

    1.安装NLog "NLog.Extensions.Logging": "1.0.0-rtm-alpha4" 2.配置NLog public void Conf ...

  6. android112 c代码打印日志,c反编译调用java

    activity: package com.itheima.ccalljava; import android.os.Bundle; import android.app.Activity; impo ...

  7. ruby脚本打印日志到rspec的报告文件中

    在通过ruby+webdriver+rspec做自动化测试的时候,为了便于观察用例执行情况,我基本上都会用 rspec XX.rb --format doc -o result.log 如果遇到失败的 ...

  8. Log4j配置的经典总结,打印日志文件,日志存库

        一.介绍 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制 日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Sy ...

  9. 以打印日志为荣之logging模块详细使用

    啄木鸟社区里的Pythonic八荣八耻有一条: 以打印日志为荣 , 以单步跟踪为耻; 很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python ...

随机推荐

  1. 深入学习主成分分析(PCA)算法原理(Python实现)

    一:引入问题 首先看一个表格,下表是某些学生的语文,数学,物理,化学成绩统计: 首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系,那么如何判断三个学生的优秀程度呢?首先我们一眼 ...

  2. 用初中代数结合python画出正方形

    在屏幕上打印类似下面的图形: 常规画正方形的算法: 这几乎是初学所有计算机语言时都会遇到的问题.算法都大致类似,就是找出打印规律然后用计算机语句表达出来.最常规的算法是:输入数字n就打印n行,首行和尾 ...

  3. GNU C 与 ANSI C(下)

    1. 语句表达式 GNU C 把包含在括号中的复合语句看做是一个表达式,称作语句表达式,它可以出现在任何允许表达式的地方.我们可以在语句表达式中使用原本只能在复合语句中使用的循环.局部变量等,例如: ...

  4. 类似aaa?a=1&b=2&c=3&d=4,如何将问号以后的数据变为键值对

    string result = "aaa?a=1&b=2&c=3&d=4"; string[] array = result.Split('?'); //s ...

  5. IdnentiyServer-使用客户端凭据访问API

    情景如下:一个客户端要访问一个api,不需要用户登录,但是又不想直接暴露api给外部使用,这时可以使用identityserver添加访问权限. 客户端通过clientid和secrect访问iden ...

  6. SQL 用于各种数据库的数据类型(转载) sqlserver 数据类型 取值范围 长度

    SQL 用于各种数据库的数据类型 来源 http://www.runoob.com/sql/sql-datatypes.html    面向数据库编程中,数据类型的取值范围.长度,可能是需要经常查看的 ...

  7. [android] 表格布局和绝对布局

    /*****************2016年4月28日 更新*************************************/ 知乎:为什么Android没有像iOS一样提供autolay ...

  8. python面向对象学习(六)类属性、类方法、静态方法

    目录 1. 类的结构 1.1 术语 -- 实例 1.2 类是一个特殊的对象 2. 类属性和实例属性 2.1 概念和使用 2.2 属性的获取机制 3. 类方法和静态方法 3.1 类方法 3.2 静态方法 ...

  9. JAVA面试题(8)

    java基础以及多个“比较” 1.Collections.sort排序内部原理 在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java ...

  10. jquery 树形导航菜单无限级

    转自:http://www.jb51.net/article/71615.htm 侵删<!DOCTYPE html> <html lang="en"> &l ...