打印一个接口、方法的运行时间在程序中是很容易遇到的一件事情;现在,我就分享一个我在工作中使用的临时打印日志的方法和结合 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. gops —— Go 程序诊断分析工具

    GitHub: https://github.com/google/gops 一个用于列出和诊断分析系统中正在运行的 Go 程序的命令行工具 安装 go get -u github.com/googl ...

  2. python字典类型

    字典类型简介 字典(dict)是存储key/value数据的容器,也就是所谓的map.hash.关联数组.无论是什么称呼,都是键值对存储的方式. 在python中,dict类型使用大括号包围: D = ...

  3. 动手实践Mybatis插件

    前言 Mybatis的插件开发过程的前提是必须要对Mybatis整个SQL执行过程十分熟悉,这样才能正确覆盖源码保证插件运行,总的来说Mybatis的插件式一种侵入式插件,使用时应该十分注意. 在之前 ...

  4. pxe+http+kickstart实验原理

    1.说明 所谓的PXE是Preboot Execution Environment的缩写,字面上的意思是开机前的执行环境. 要实现pxe,至少需要3个服务 2.流程 注意:全部用的udp封装 1)cl ...

  5. c++Volatile关键词

    看到的一篇文章觉得还不错吧,文章具体位置也找不到了,复制一下,留着日后复习 背景 此微博,引发了朋友们的大量讨论:赞同者有之:批评者有之:当然,更多的朋友,是希望我能更详细的解读C/C++ Volat ...

  6. @property详解,@property修饰符以及各个修饰符区别(上)

    相信很多参加过面试的人员很多都会被问到:weak与assign的区别,copy与strong的区别.如果你仅仅说一点点copy一般对NSString,weak对于控件的修饰,assign对于基本类型, ...

  7. C# XML入门

    什么是XML? XML:可扩展标记语言. XML的作用: 纯文本,兼容性强. 和HTML的区别: xml: 主要用来处理.存储数据.无规定标签,可扩展. html:对数据的显示和描述. 语法标签固定. ...

  8. C#操作DbCommand类

    一.常用属性 名称 说明 CommandText  获取或设置要对数据源执行的 Transact-SQL 语句.表名或存储过程 CommandTimeout 获取或设置在终止执行命令的尝试并生成错误之 ...

  9. C#通过调用WinApi打印PDF文档类,服务器PDF打印、IIS PDF打印

    其他网站下载来的类,可以用于Winform.Asp.Net,用于服务器端PDF或其他文件打印. 直接上代码: using System; using System.Collections.Generi ...

  10. Android开发过程中的坑及解决方法收录(二)

    bug 1: bug描述: 无法成功地将edittext中的内容传入数据库中 bug动图: 经过: 最近写了个项目,项目要使用到SQL数据库,由于没有相关知识,便是找到了各种资料开始了自学之旅,在de ...