`

Ruby中打印日志:Logger的使用

    博客分类:
  • ruby
阅读更多

 

1.引入'logger'

 require 'logger'

2.日志输出到控制台还是文件

   logger = Logger.new(STDOUT)  #输出到控制台
   logger = Logger.new("log.txt")  #输出到文件,文件名log.txt
   logger = Logger.new(STDERR) #输出到屏幕
   
指定写入文件方式: 
  file = File.open('foo.log', File::WRONLY | File::APPEND)
  # To create new (and to remove old) logfile, add File::CREAT like;
  # file = open('foo.log', File::WRONLY | File::APPEND | File::CREAT)
  logger = Logger.new(file)
 
3.日志生成周期
  logger = Logger.new('log.log', 'daily') #按天生成
  logger = Logger.new('log.log', 'weekly') #按周生成
  logger = Logger.new('log.log', 'monthly')#按月生成

 

4.指定日志大小及保留日志个数

   logger = Logger.new('foo.log', 10, 1024000) #保留10个日志文件,每个文件大小1024000字节

 

5.输出不同级别的日志

  logger.level = Logger::INFO

  logger.error("some desption")
  logger.fatal("an object #{obj}")
  logger.info("that's another instance obj #{obj}")

  logger.add(Logger::FATAL) { 'Fatal error!' }

 日志级别从大到小分别是:fatal、error、warn、info、debug

 
6.日志输出格式及时间格式
  默认日志格式:
  SeverityID, [Date Time mSec #pid] SeverityLabel -- ProgName: message
   修改时间格式:
    logger.datetime_format = "%Y-%m-%d %H:%M:%S"
        # e.g. "2004-01-03 00:54:26"
  修改日志格式:
   logger.formatter = proc { |severity, datetime, progname, msg|
    "#{datetime}: #{msg}\n"
  }
        # e.g. "Thu Sep 22 08:51:08 GMT+9:00 2005: hello world"
 

  
分享到:
评论

相关推荐

    com.orhanobut:logger:1.15(logger1.15.jar)

    https://github.com/orhanobut/logger 把这个代码功能做成了一个jar包,可以在Eclipse中使用的logger架包。

    Go-Golang漂亮打印日志(Logger)

    在实际开发中,我们可以使用`Go-Golang漂亮打印日志(Logger)`库,通过简单的API调用来记录日志,如`logger.Debug("这是调试信息")`,`logger.Warning("这里有一个警告")`等。这样,无论是在本地开发还是在生产环境中...

    开源日志库Logger使用Demo

    Logger库的主要类是`Logger`,它提供了多种打印日志的方法,如`d()`, `i()`, `w()`, `e()` 和 `v()`,分别对应DEBUG, INFO, WARN, ERROR 和 VERBOSE级别。这些方法接收字符串参数,可以直接打印文本,也可以与`...

    ruby logger

    在Ruby编程语言中,`logger`模块是标准库的一部分,用于提供日志记录功能。它是一个强大而灵活的工具,可以方便地在应用程序中插入日志记录,帮助开发者跟踪程序运行状态,排查错误,以及进行性能分析。这篇博客文章...

    Android-logger日志打印工具

    在项目中使用`logger`日志打印工具,可以极大地提高开发者的工作效率,让日志记录变得更加高效和便捷。它不仅可以提供清晰的日志输出,还能在问题排查和性能优化过程中扮演重要角色。因此,对于任何Android开发者来...

    Android 开源日志库 Logger 使用教程

    虽然`Logger`提供了许多便利,但在生产环境中,应合理使用日志级别,避免过多的日志输出影响性能。例如,通常只在DEBUG模式下使用VERBOSE级别日志。 9. **集成到测试框架** `LoggerTest`可能是指用于测试`Logger`...

    Java自定义日志模块实现

    如果是项目比较大,所要花费的工作量也真不少,但如果使用了上面的方式,则只需要实现“LoggerAdapter”接口,使之与具体的日志(logger)进行适配,并且(如果必要)重写或者调整LoggerAdapterFacory类即可。...

    java swing用Logger输出错误日志.docx

    这篇文档主要讨论了如何在Java Swing应用中使用`Logger`来生成和管理错误日志。 `Logger`是Java的日志记录工具,它提供了多种级别(如SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST)来区分不同严重程度的...

    Logger日志工具使用

    例如,使用SLF4J接口,我们可以在类的静态块中初始化Logger: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyClass { private static final Logger logger = LoggerFactory....

    android studio,日志框架Logger的使用

    日志框架Logger的使用

    JSLogger日志记录组件

    在`logdemo.html`中,可以看到一个示例的HTML页面,用于演示如何在实际项目中使用JSLogger。通过这个例子,开发者可以更直观地了解JSLogger的用法和效果。 **应用场景** 1. **前端错误监控**:在生产环境中,JS...

    Logger以及glog 两个日志库源码。

    总的来说,日志库是软件开发中不可或缺的一部分,通过研究和使用Logger和glog,我们可以更好地理解和掌握如何在C++环境中有效地记录和管理日志,这对于提高软件质量和维护性至关重要。在深入源码的过程中,你还可以...

    fastify框架的logger日志工具

    在Fastify中使用`fastify-logger`,开发者可以轻松地定制日志级别、格式和输出方式,以满足不同项目的需求。 1. **安装与配置** 首先,你需要通过npm来安装`fastify-logger`: ``` npm install --save fastify-...

    C++轻量级日志类Logger的使用

    Logger是轻量级日志类,提供写日志功能,支持多线程,支持可变形参数操作,支持写日志级别的设置。 博客地址: http://blog.csdn.net/sunflover454/article/details/49758801

    C# Logger C# 的日志工具

    使用C# Logger时,开发者首先需要在项目中引用相应的库或者NuGet包,然后配置日志级别和输出目的地。日志级别可以根据需要动态调整,以控制在不同阶段记录哪些类型的信息。此外,还可以通过配置文件(如app.config或...

    log4cxx测试工程

    `testlog4cxx`这个压缩包中的文件很可能是用于演示如何在实际项目中使用`log4cxx`的一个测试工程。它可能包含了简单的示例代码,展示了如何配置、创建logger、记录和处理日志。你可以通过编译和运行这个工程来学习和...

    Logger日志文件查看

    在IT行业中,日志文件(.log文件)是系统、应用程序和服务器运行过程中记录事件、错误、警告和其他信息的重要方式。这些文件对于诊断问题、跟踪系统行为和优化性能至关重要。"Logger日志文件查看"这一主题主要涉及...

    Ruby-Log4r使用Ruby程序一个全面的和灵活的日志库

    要在Ruby项目中使用Log4r,首先需要安装该库。可以通过RubyGems来完成: ```bash gem install log4r ``` **2. 基本用法** Log4r的核心概念包括日志级别、输出器(Outputter)和日志器(Logger)。日志级别通常...

    syslog_ruby:纯Ruby Syslog库

    该gem在纯Ruby中实现syslog协议。 使用openlog(3)syscall的Syslog模块只能打开一个工具。 SyslogRuby允许您拥有任意数量的记录器。 安装 将此行添加到您的应用程序的Gemfile中: gem 'syslog_ruby' 然后执行: ...

    C++通用日志系统Logger

    日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等。 本日志模块的主旨是提供一个基于Qt框架,简单易用、可拓展性好、支持多种输出目标和格式的底层日志库,...

Global site tag (gtag.js) - Google Analytics