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开发的话还是不行的,欠缺的还有很多,但欠缺的这些我们有只能在工作中去总结以及不断的提高,这篇文章我们还 ...
随机推荐
- hdu 思维风暴
点击打开链接 偶然在杭电上看到的题目,数学题.好像是一道六年级奥赛题目,反正我是没有想出来,也知道往那上面想.就是找不到规律啊.学习了网上的方法, 这道题须要求出来多添加的点,就是与之前每条边添加的点 ...
- 基于请求响应的MVC框架调用分析
一.使用Servlet来处理请求响应 当client提交数据之后.接着发送请求,请求被封装成对象,server接收到请求,依据请求的URL.来推断将请求对象交由哪个Servlet处理. 在servle ...
- android selector设置button点击效果(具体)以及常见问题
button的点击效果学习起来其实比較easy,此点对开发人员来说也是使用的比較频繁的一个知识点,与它相关的还有编辑框的获取焦点时改变背景颜色.选择button选择时改变字体颜色等等.这些其实都是用到 ...
- double long float类型读入读出 double取模 fmod
The library of fmod is #include <cmath> #include<cstdio> #include<cstdlib> #includ ...
- Anatomy of an IIS7 configuration path
The concept of configuration paths is fundamental to managing and operating an IIS server, so I want ...
- HDU 2435 There is a war Dinic 最小割
题意是有n座城市,n号城市不想让1号城市可达n号,每条道路有一条毁坏的代价,1号还可以修一条不能毁坏的道路,求n号城市所需的最小代价最大是多少. 毁坏的最小代价就直接求一遍最大流,就是最小割了.而可以 ...
- Huawei设备配置系统时钟
系统时钟是设备上的系统时间戳.由于地域的不同,用户可以根据当地规定设置系统时钟.用户必须正确设置系统时钟以确保其与其他设备保持同步.华为设备出厂时默认采用了协调世界时(UTC),但是没有配置时区所有在 ...
- 【Henu ACM Round#14 D】Kefa and Dishes
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 状态压缩动规. 可以写成记忆化搜索的形式. f[bit][p] 表示选取的菜的情况为bit(用0..2^(N)-1的二进制形式表示各 ...
- 洛谷 P1913 L国的战斗之伞兵
P1913 L国的战斗之伞兵 题目背景 L国即将与I国发动战争!! 题目描述 为了在敌国渗透作战,指挥官决定:派出伞兵前往敌国!然而敌国的风十分强烈,能让伞兵在同一高度不停转悠,直到被刮到一个无风区… ...
- 菜鸟nginx源代码剖析数据结构篇(七) 哈希表 ngx_hash_t(下)
菜鸟nginx源代码剖析数据结构篇(七) 哈希表 ngx_hash_t(下) Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:B ...