Tools Function
public static void TraceLog(string message, string logFileName)
{
string tmppath = AppDomain.CurrentDomain.BaseDirectory + "\\Log\\"; if (!Directory.Exists(tmppath))
{
Directory.CreateDirectory(tmppath);
}
lock (s_lock)
{
StreamWriter myFile = null;
try
{
myFile = new StreamWriter(tmppath + DateTime.Now.ToString("yyyyMMdd") + logFileName + ".log", true,
Encoding.Default);
var textL = new TextWriterTraceListener(myFile);
var defL = new DefaultTraceListener();
if (Trace.Listeners.IndexOf(textL) == -)
{
Trace.Listeners.Clear();
Trace.Listeners.Add(textL);
Trace.Listeners.Add(defL);
}
Trace.AutoFlush = true; Trace.WriteLine(string.Empty);
Trace.WriteLine(message);
}
catch (Exception ioe)
{
Console.WriteLine(ioe.Message);
}
finally
{
if (myFile != null)
{
myFile.Close();
myFile.Dispose();
}
}
}
} public static List<T> BuildEntityList<T>(DataTable table) where T : class, new()
{
if (table == null)
{
return new List<T>();
}
var list = new List<T>(table.Rows.Count);
foreach (DataRow row in table.Rows)
{
list.Add(EntityBuilder.BuildEntity<T>(row));
}
return list;
} public static string ConvertObject<T>(T o)
{
StringBuilder sb = new StringBuilder();
using (TextWriter reader = new StringWriter(sb))
{
var serializer = new XmlSerializer(typeof(T));
serializer.Serialize(reader, o);
reader.WriteLine();
return sb.ToString();
}
}
Tools Function的更多相关文章
- 在 Angular 中实现搜索关键字高亮
在 Angular 中,我们不应该试图直接修改 DOM 的内容,当需要更新 DOM 内容的时候,应该修改的其实是我们的数据模型,也就是 $scope 中的数据,Angular 会帮助我们将修改之后的数 ...
- Js创建对象的做法
1.对象工具包 <html> <head> <meta http-equiv="Content-Type" content="text/ht ...
- 快速学会require的使用
快速学会使用require.js 1.get start 先到官网下载requirejs到本地,官方同时提供Node版本r.js,我们只使用requirejs即可. 接下来在页面上写入 <scr ...
- Cesium 绘制点、线、面和测距
本文基于ES6,采用React+Cesium的Webgis前端开发框架,目前threejs和cesium的结合正在研究中.此段代码采用原生javascript,可能过程中用到了es6的扁平化语法,如( ...
- 权限管理系统之LayUI实现页面增删改查和弹出层交互
由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...
- 权限管理系统之项目框架搭建并集成日志、mybatis和分页
前一篇博客中使用LayUI实现了列表页面和编辑页面的显示交互,但列表页面table渲染的数据是固定数据,本篇博客主要是将固定数据变成数据库数据. 一.项目框架 首先要解决的是项目框架问题,搭建什么样的 ...
- UCore-Lab1
日期:2019/3/31 内容:makefile分析: 一."Makefile"分析 1.1 ucore.img lab1已有的源文件 目录 文件 boot asm.h.boo ...
- 使用Python Django在Ubuntu下搭建数据库型网站
最近想做一个数据库网站,我对Python很熟悉,也了解到Django很好用,于是说搞就搞. 首先,在快云上买了一个vps,一元试用一个月,Ubuntu系统. 1.安装Django apt-get up ...
- 3-CMD
诞生背景AMD其实已经算是解决了前端模块化开发的问题了,但是!!!但是,因为AMD管理依赖的时候,会把所有的依赖下载到本地,并且立即执行一次.依赖少了还好,多的话,那么多js均要被执行一次,这个内存消 ...
随机推荐
- c/c++ 输入输出缓冲区
关于缓冲区的详细介绍,请参考 C++编程对缓冲区的理解 CPP的输入输出流和缓冲区 c++输出缓冲区刷新 (1)c++中cin.cout,cerr和c的stdin.stdout.stderr都是同 ...
- Aapache status / apache2ctl status 总是403
默认apache2ctl status访问的是http://localhost:80/server_status 所以得搞定default这个站点,放歌html就可以了. 在default的配置里加入 ...
- Pinterest 架构:两年内月 PV 从零到百亿【翻译】
原文地址 这篇文章,采用 Markdown 方式,写的还是比较实在的,要是有架构图就好了. Pinterest 是图片版的 Twitter,用户把自己感兴趣的东西用图钉(Pins)钉在钉板(PinBo ...
- 如何制作CSR文件?
如何制作CSR文件? 在申请数字证书之前,您必须先生成证书私钥和证书请求文件(CSR,Cerificate Signing Request),CSR是您的公钥证书原始文件,包含了您的服务器信息和您的单 ...
- java目录
1. 在jsp文件或Servlet中,可以通过getServletContext().getRealPath("/")来获取项目根目录的绝对路径. 2. Java桌面程序中,可以通 ...
- 文件上传限制大小 dotnet/C#
private void Button1_Click(object sender, System.EventArgs e) { if (File1.PostedFile != null) { //上传 ...
- Ehcache 使用
自从Ehcache 到了1.2+的版本,就支持分布式缓存了 Spring + Hibernate的结构 ,ehcache的对这几个框架的支持较好,就采用这个缓存方案 下面是配置文件: <ehca ...
- [原创]HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
最近在看一个老外写的东西,发现里面有个类,使用这个类可以让任何设备使用HierarchyView. 众所周知,市面上卖的Android设备,一般都不能使用HierarchyView,所以借此机会,了解 ...
- Solution to “VirtualBox can't operate in VMX root mode” error in Windows 7
I was trying out various virtualization solutions on Windows 7, including Microsoft Virtual PC and V ...
- 解析Javascript中大括号“{}”的多义性
JS中大括号有四种语义作用 语义1,组织复合语句,这是最常见的 复制代码 代码如下: if( condition ) { //... }else { //... } for() { //. ...