关于C#异常Log处理

using System.Windows.Forms;
using System.IO;

public static void CreateLog(Exception ex)
{
string path = Application.StartupPath +"\\Log";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
path += "\\" + DateTime.Now.Month +"_"+ DateTime.Now.Day +"_"+ DateTime.Now.Hour+DateTime.Now.Minute+".txt";
WriteL(path, ex);
}

public static void WriteL(string path , Exception ex)
{
using (StreamWriter sw = new StreamWriter(path,false,Encoding.UTF8))
{
sw.WriteLine("*********************"
+DateTime.Now.ToString()
+"*********************");
if (ex != null)
{
sw.WriteLine("[ErrorType]---" + ex.GetType());//获取当前运行实例的类型
sw.WriteLine("[TargetSite]---" + ex.TargetSite);//获取引发一场的方法
sw.WriteLine("[Message]---" + ex.Message);//获取当前一场的信息
sw.WriteLine("[Source]---" + ex.Source);//获取导致异常发生的应用程序以及对象的名称
sw.WriteLine("[StackTrace]---" + ex.StackTrace);//通过堆栈来追溯异常
}
else
sw.WriteLine("Exception is null");
sw.WriteLine();
}

}

时间: 2024-10-05 01:39:16

关于C#异常Log处理的相关文章

spring aop 配置切面,记录系统异常存入log日志

1.spring.xml(这里主要配置了抛出异常后的操作after-throwing) 需要注意的地方以黄色标注,主要是几个切入点bean配置 <!-- 激活自动代理功能 --> <aop:aspectj-autoproxy proxy-target-class="true"/> <!-- 系统服务组件的切面Bean --> <bean id="aspectService" class="com.test.http

更加强健的线程模型,解决线程卡死,退出异常情况

线程模型 1 package net.sz; 2 3 import java.util.Random; 4 import java.util.concurrent.ConcurrentLinkedQueue; 5 import org.apache.log4j.Logger; 6 7 /** 8 * 9 * <br> 10 * author 失足程序员<br> 11 * mail [email protected]<br> 12 * phone 13882122019&

Android项目引入actionbarsherlock作为library后混淆之后的异常

现象: Android APP中,引入actionbarsherlock 开源库作为滑动菜单,调试运行没有问题,项目混淆打包后,程序运行异常退出,截获异常log为: <span style="white-space:pre"> </span>java.lang.ExceptionInInitializerError at com.actionbarsherlock.app.SherlockFragmentActivity.getSherlock(Unknown

通过DeveloperApi获取spark程序执行进度及异常

效果显示: 代码: package org.apache.spark.zpc.listener import org.apache.spark.Logging import org.apache.spark.scheduler._ import scala.collection.mutable /** * Spark 的 DeveloperApi 提供针对app, job, task的执行监听. * 通过该监听,可以实现: * 1.任务执行进度的粗略计算. * 2.执行异常失败时,获取异常信息.

Android Thread.UncaughtExceptionHandler异常消息捕获

public void uncaughtException(Thread thread, Throwable ex) { //处理异常 Log.e("崩溃",thread.getName()+ex.toString()); //发送到服务器 //dialog提醒 } 重写Application的onTerminate() 关闭整个程序后做的来操作:

Android -- 使用UncaughtExceptionHandler捕获全局异常

在集成了统计SDK(友盟统计,百度统计等)之后,有一个非常有利于测试的功能:错误分析!此功能能够将程序在运行中碰到的崩溃(runtimeException)问题反馈到服务器,帮助开发者改善产品,多适配机器. 然而在公司android开发中不集成这些SDK,那应该怎么实现这样的功能呢?下面让我们来看下如何使用UncaughtExceptionHandler来捕获异常. 首先实现创建一个类,实现UncaughtExceptionHandler接口.代码如下: public class CrashHa

iOS捕获系统异常

// 提交异常Log信息 void UncaughtExceptionHandler(NSException *exception) { // 异常Log信息 NSString *errorStr = [NSString stringWithFormat:@"错误详情:%@\n%@\n%@", [exception name], [exception reason], [[exception callStackSymbols] componentsJoinedByString:@&qu

【Android】 -- 使用UncaughtExceptionHandler捕捉全局异常

在综合统计SDK(欧盟统计局的朋友,百度统计)之后.有一个非常有利的功能测试:错误分析.此功能可以在程序的执行中遇到崩溃(runtimeException)反馈给server,帮助开发者提高产品.多功能适配器机. 然而在公司android开发中不集成这些SDK,那应该怎么实现这种功能呢?以下让我们来看下怎样使用UncaughtExceptionHandler来捕获异常. 首先实现创建一个类,实现UncaughtExceptionHandler接口.代码例如以下: public class Cra

Java异常实践事项

在大学项目开发中, 你有没发现自己做的项目总是出现bug,不仅仅出现bug,而且很难根据异常信息找到异常源.我当时也是非常懊恼, 可怕的是不知道怎么维护... 软件Java异常需要理解基础的知识, 在实战中较好的处理异常.Java异常基础知识 .tryCatchFinally语句块  本节总结Java异常在实践中的相关事项 1. 在Finally中清理资源或者使用Try-With-Resource语句       不要在try中关闭资源.因为一旦发生异常, 将无法正常关闭资源.以下代码给出二种处