C#打印日志的小技巧(转)
https://www.cnblogs.com/jqg-aliang/p/5234206.html
打印日志的函数
开发中输出日志必不可少,在C#中输出多个不同类型参数的时候,需要连接符累加输出,很是不方便。
一个简单的方法是自己封装一个打印的函数,让它支持不定参数和不同类型的输出。这样就不会强用字符串进行拼接输出了。
public void Log(params Object[] message)
{
string str = string.Empty;
if (message == null || message.Length == 0)
{
str = "null";
}
else
{
for (int i = 0; i < message.Length; i++)
{
if (str.Length > 0)
{
str += " ";
}
str += message[i];
}
}
Console.WriteLine(str);
// 写入到log日志文件
StreamWriter sw = new StreamWriter(@"test.log", true, Encoding.UTF8);
sw.WriteLine(str);
sw.Close();
}
OK,现在看看这个函数的使用:假如这个类叫Unitl,需要打印的时候直接Util.Log("hello world");
貌似没有多大的区别,但是还可以这么玩:Util.Log(1,4,0.5,-1); 、 Util.Log(“test”,true,56);
OK,小技巧而已,没什么高大上的技术。使用了params 接收不定参数,而Object接收任意类型,这样一个简易封装的输出函数搞定。
C#打印日志的小技巧(转)的更多相关文章
- C#打印日志的小技巧
public static void Log(params System.Object[] message) { string str = ""; if (message == n ...
- idea中scala项目补全变量、添加打印语句的小技巧
1. 自动补全变量: new Person.var ,然后按回车键:效果:代码变成: val person: Person = new Person 2.添加打印语句: person.name.pr ...
- Git显示漂亮日志的小技巧
Git的传统log如下所示,你喜欢吗? 看看下面这个你喜不喜欢?(点击图片看大图) 要做到这样,命令行如下: 1 git log --graph --pretty=format:'%Cred%h%Cr ...
- 最强 Android Studio 使用小技巧和快捷键
写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...
- 8 个 Git 的小技巧
git 已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的git技巧. 使用-p选择性添加 当你想提交内容时,你可以通过使用 git commit -am 来选择所有文件或使 ...
- Golang fmt包使用小技巧
h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; direction: ltr; color: #000000; line-height: 200%; te ...
- 最强 Android Studio 使用小技巧和快捷键总结
最强 Android Studio 使用小技巧和快捷键总结 写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android ...
- Android Studio 使用小技巧和快捷键
Android Studio 使用小技巧和快捷键 Alt+回车 导入包,自己主动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt ...
- Android学习--还有一些小技巧
这些小技巧 通过上面的这些文章,就把简单的安卓项目总结了一遍,当然你说懂这些就可以做Android开发的话还是不行的,欠缺的还有很多,但欠缺的这些我们有只能在工作中去总结以及不断的提高,这篇文章我们还 ...
随机推荐
- oracle 10g/11g RAC 启停归档模式
oracle 10g rac 启停归档模式 假设Oracle数据库执行在归档模式,当进行数据库维护时,可能须要暂停数据库的归档,在完毕维护后,再又一次启动归档模式. 通过下面步骤能够从归档 ...
- 如何卸载visualsvn for visual studio
新入职的公司,电脑上的visual studio已经安装了visualsvn 尝试在tools-->extensions and updates中卸载 但是uninstall按钮是被禁用掉的 谷 ...
- C#泛型链表Demo
/// <summary> /// 节点 /// </summary> /// <typeparam name="T"></typepar ...
- 125.C++输入小结
#include <iostream> #include <iomanip> #include <cstring> #include <cstdlib> ...
- netflix zuul 1.x与zuul2.x之比较
1.zuul 1.x的架构如下所示: 线程模型: 其web应用的web.xml <?xml version="1.0" encoding="UTF-8"? ...
- mysql源码安装(包括5.5和5.7)
1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...
- Yeslab 华为安全HCIE-第七门-Agile Controlle
课程目录: 华为安全HCIE-第七门-Agile Controller(12篇)\1_aglie_controller产品亮点讲解.avi 华为安全HCIE-第七门-Agile Controlle ...
- oracle 正序 逆序 排序查询
正序:从小到大 order by t.id asc 逆序:从大到小 order by t.id desc
- 配置Xcode版本控制SVN详细步骤内含解决Xcode/Mac OS10.8无法配置SVN的解决方法
本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi ) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/game-de ...
- 设计模式之Build(生成者模式)
一.生成器模式的定义: 生成器模式也称为建造者模式.生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF).在软件设计中,有时候面临着一个非常复杂的对象的创 ...