用printf做彩色日志记录

写了一个简单的程序,但是考虑到有一些信息是需要打印在控制台上的,就像在windows上启动apache tomcat时控制台显示的信息一样。琢磨一会儿之后,对printf进行了封装,支持控制台打印日志,支持输出到文件里。不过控制台都是固定颜色的,不好看。于是在网上找了一下资料,printf还真支持输出不同的颜色,如下:

实例:printf("\033[1;33m Hello World. \033[0m \n");

\033      [1;        33m           xxxx

|          |          |             |

开始    背景色      字体色        字符串

一些常见的颜色代码:

none         = "\033[0m"
black        = "\033[0;30m"
dark_gray    = "\033[1;30m"
blue         = "\033[0;34m"
light_blue   = "\033[1;34m"
green        = "\033[0;32m"
light_green -= "\033[1;32m"
cyan         = "\033[0;36m"
light_cyan   = "\033[1;36m"
red          = "\033[0;31m"
light_red    = "\033[1;31m"
purple       = "\033[0;35m"
light_purple = "\033[1;35m"
brown        = "\033[0;33m"
yellow       = "\033[1;33m"
light_gray   = "\033[0;37m"
white        = "\033[1;37m"

时间: 2024-09-28 22:45:07

用printf做彩色日志记录的相关文章

【原创】modb 功能设计之“支持对sql语句的相关日志记录”

[需求分析] 终于到了处理 sql 日志的阶段了,万里长征重点的关键一步. 需要考虑解决的问题点如下:  在哪个模块上做 sql 日志记录 都要记录哪些信息才能做到跨机房数据同步时,具有可查询.可分析.可监控的目的 sql 日志记录的模式或者说频率 针对 MoDB 要做跨机房数据的同步这个功能,那么可以对 sql 语句进行记录的"地方"有:  modb 应用中 Atlas 应用中 其中 Atlas 目前已支持 sql 日志的记录,格式如下:  ? 1 [11/25/2013 14:58

spring aop面向切面编程:如何来做一个强大的日志记录功能

这个东西怎么做:spring aop 面向切面编程 如何来做一个强大的日志记录功能模板; 昨天经理把这个任务交给我,让我为公司现在的项目加上一个详细的日志记录功能模板,对所有的操作,至少是增删改运作进行一个记录,其要记录操作者,以及执行的方法,IP,以及操作的方法的参数. 我以前做过类似的功能,不过是在filter里做的,通过filter来检查action请求,记录请求中的参数及action名字.但是今天公司这个是要求用spring aop来做,这样就可以在spring里对要进行的日志记录方法进

以HTML为表现的日志记录组件

关于日志记录,如果你不想随用随写,又不想用log4net的话,也许你可以了解一下这个! 我也是个很懒的人,程序上的东西,只要别人写好了,而且自己用着爽,绝不做重复的coding.这个组件的起源是因为感觉log4net太强大太复杂(对我来说真是这样),当我想用log4net的时候,看到配置我都吓尿n次了,而这个时候心中又突发奇想,用HTML来做日志的表现!理由有二,一是HTML和CSS大家都会,二是可以实现很好的可读可视性. 一.配置文件说明 <?xml version="1.0"

一个真正的热插拔开源的日志记录组件

前两天发现一个开源日志组件ELMAH,一下子就喜欢上了,喜欢他的原因是它支持"热插拔"(不需要改动任何的程序).简单的配置(几行配置).多种记录方式(数据库.文件.Email).支持多数据库(Access.SqlServer.Oracle.Sqlite.VistaDB),而且查看结果也不需要编写(并且支持rss发布查看). ELMAH最新版本是ELMAH-1.0-BETA3,他是基于HttpModules.HttpHandlers的处理方式,只是记录错误日志不进行处理,不过这已经足够了

WebSphere Application Server Community Edition中的应用程序日志记录

引言 应用程序日志记录提供了捕获在应用程序执行期间发生的各种事件的方法.它将收集关于应用程序在执行各种任务时在做什么的详细信息.此信息在调试.故障排除甚至审核方面很有用.WebSphere Application Server Community Edition(以下称为 Community Edition)提供了各种库,可帮助应用程序开发人员配置日志记录服务.这些库是: Log4j SLF4j java.util.logging java.util.logging 包是可用于所有标准 Java

oracle的日志记录模式详解

-- 日志记录模式(LOGGING .FORCE LOGGING .NOLOGGING) --================================================== 一.日志记录模式(LOGGING .FORCE LOGGING .NOLOGGING) 1.三者的含义 LOGGING:当创建一个数据库对象时将记录日志信息到联机重做日志文件.LOGGING实际上是对象的一个属性,用来表示在创建对象时是 否记录REDO日志,包括在做DML时是否记录REDO日志.一般表上

java-tomcat 如何做控制台日记记录?

问题描述 tomcat 如何做控制台日记记录? 10C tomcat如何记录控制台的日记,现在的情况是用eclipse添加tomcat,然后在控制台可以打印启动.访问.操作的信息,为什么在tomcat根目录下面的log文件夹下面没有记录,请问大家如何实现? 解决方案 http://www.iteye.com/problems/64642单独执行一下catalina.bat发现如下的提示: Using CATALINA_BASE: D:jakarta-tomcat-5.0.25 Using CAT

javaee-请教关于日志记录问题

问题描述 请教关于日志记录问题 比如像qq那样,每个人有各自账户和q币,用户充值和消费q币,想要把充值消费详细记录,之后可以在页面上查看,这个要怎么做?用log4j吗?要输出到哪?数据库恐怕之后记录多了就不行吧?文件呢?是要每个人一个文本文件记录?那样不会很多文件?请大神赐教 解决方案 采用数据库方便查看.管理.维护.远程操作.建议你学习.使用数据库SQL Server. 如果用户不多,数据量不大也可以自己设计文本文件记录.但是比较麻烦,也许还会遇到并发.远程操作等问题,处理起来难度较大.

利用日志记录可以实现什么样的功能?

问题描述 利用日志记录可以实现什么样的功能?比如说收银系统,系统日志中记录了前台各个服务员以及后台人员使用软件时的操作记录,有操作时间,操作人,和操作内容的.可以利用这些数据做一个查看什么时间,什么人,做了什么操作. 解决方案 解决方案二:日志还可以记录访问人的请求信息(分析请求客户端信息,记录ip,访问频率,判断合法性等等吧).还有就是记录系统异常解决方案三:日志的作用主要是在于1.系统异常的时候查找定位问题2.记录关键操作的相关信息,操作人,涉及数据等等3.记录正常交易信息,方便出问题后定位