日志打点的简单实现

/// <summary>
/// 日志打点接口。
/// </summary>
public interface ITopLogger
{
void Error(string message);
void Warn(string message);
void Info(string message);
}

/// <summary>
/// 日志打点的简单实现。
/// </summary>
public class DefaultTopLogger : ITopLogger
{
public const string LOG_FILE_NAME = "topsdk.log";
public const string DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";

static DefaultTopLogger()
{
try
{
Trace.Listeners.Add(new TextWriterTraceListener(LOG_FILE_NAME));
}
catch (Exception e)
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
}
Trace.AutoFlush = true;
}

public void Error(string message)
{
Trace.WriteLine(message, DateTime.Now.ToString(DATETIME_FORMAT) + " ERROR");
}

public void Warn(string message)
{
Trace.WriteLine(message, DateTime.Now.ToString(DATETIME_FORMAT) + " WARN");
}

public void Info(string message)
{
Trace.WriteLine(message, DateTime.Now.ToString(DATETIME_FORMAT) + " INFO");
}
}

日志打点的简单实现

时间: 2024-10-26 13:37:52

日志打点的简单实现的相关文章

Koa 请求日志打点工具

前一段时间开始搞优化后端 API 性能的事,发现根本无从下手,Kibana 中虽然有记一些简陋且零散的日志,但也瞅不出啥眉目来.总结了下是日志太少了,所以决定先搞搞日志的事,目标是记录 API 请求相关的日志,找出哪个接口慢,最好具体到哪个函数慢. 记日志必然要涉及日志打点,怎么做日志打点是个问题.如果直接在代码中插入日志打点代码不仅侵入性强而且工作量大,也不够灵活,于是考虑如何做智能的自动打点.我们石墨后端使用的 bay 框架(基于 [email protected] 二次开发,基本上你可以认

浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色

浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色 本篇文章是系列文章中的第三篇,前两篇的地址如下: 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色 简介 在简单恢复模式下,日志文件的作用仅仅是保证了SQL Server事务的ACID属性.并不承担具体的恢复数据的角色.正如”简单”这个词的字面意思一样,数据的备份和恢复仅仅是依赖于手动备份和恢复.在开始文章之前,首先

Log4j日志管理的简单实例

大型项目中很多情况下要分析程序的日志信息,如何管理自己的日志信息至关重要.在应用程序中添加日志记录总的来说基于三个目的 , 监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作: 跟踪代码运行时轨迹,作为日后审计的依据: 担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息. 最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类 来封装此类操作,而不是让一系列的打印语句充斥了代码的主体. 这篇文章主

开源日志收集Exceptionless简单使用

原文:开源日志收集Exceptionless简单使用 这两天在研究一个开源的日志收集工具Exceptionless 官网地址:https://exceptionless.com/GitHub地址:https://github.com/exceptionless/Exceptionless 官网为我们提供了两种使用方式. 一.在官网注册账号后即可快速使用(不用关心日志收集环境的搭建,专注自己代码逻辑就好),唯一不好的地方就是你系统中的所有日志信息都会被上传至官网服务中了. 二.下载官网为我们提供的

springBoot日志快速上手简单配置

默认配置 日志级别从低到高分为: TRACE < DEBUG < INFO < WARN < ERROR < FATAL. 如果设置为 INFO ,则低于 INFO 的信息都不会输出其他的依次类推 默认情况下,Spring Boot会用Logback来记录内部日志,并用INFO级别输出到控制台你不用做任何设置 从上图可以看到,日志输出内容元素具体如下: 时间日期:精确到毫秒 日志级别: 进程ID 分隔符:--- 标识实际日志的开始 线程名:方括号括起来(可能会截断控制台输出)

iOS发送探针日志到日志系统的简单实现

? 通过参考Testin的SDK实现方式,我们大致可以确定他们背后的实现方式: ? 首先,通过加载Testin的SDK,然后收集各种七七八八的数据,再通过socket发送数据到云端. ? 云端我们已经有了,就是http://log.qa.huayu.nd:8088 ? 但是如何从iOS收集数据呢,我们需要自己写SDK,SDK的实现一般是采用framework来打包,但是这里简单为主,我将使用静态库来实现,我这里实现的是libHyLog01.a ? 要编写这样的库,你需要一台Mac,需要xcode

nginx 日志分割(简单、全面)

Nginx 日志分割 因业务需要做了简单的Nginx 日志分割, 第1章 详细配置如下. #建议在mkdir  /home/shell  -p 专门写shell 脚本位置 [email protected]:/home/shell# cat nginxcut.sh #!/bin/sh ##### #by xuebao #2017.05.16 date=`date +%Y%m%d` nginxlog="/app/logs/nginx/" /bin/mv ${nginxlog}www_ac

Logback日志配置的简单使用

Logback介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-access.logback-core是其它两个模块的基础模块.logback-classic是log4j的一个 改良版本.此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging.logback-access访问模块与Servlet

Nginx日志切割_sedEmail简单使用

#!/bin/bash # # Name:此脚本做为切割nginx每日日志使用 # Version Number:1.1 # Language:bash shell # Date:2017-05-11 # Author:xiong nginxlogs=/usr/share/nginx/log datetime=`date '+%Y-%m-%d' -d '-1 day'` year=`date +%Y` month=`date +%m` if [ ! -d $nginxlogs/$year ];t