2012-09-20 37 views
2

当我使用这个脚本其做工精细红宝石记录文件的行为

require 'logger' 

class Logging < Logger 
    log = Logger.new "sam.txt" 
    log.warn "samarth" 
end 

和日志文件的输出以这种方式

# Logfile created on Thu Sep 20 12:01:26 +0530 2012 by/
W, [2012-09-20T12:01:44.402915 #7553] WARN -- : asasa 

现在我想让它继承记录器一类是即将到来和我使用该脚本在所有其他,但其生产

require 'date' 
require 'logger' 

class Logging < Logger 

    def initialize 
     @date = Time.now.strftime("20%y-%m-%d").to_s 
     @time = Time.now.strftime("%X") 
     @file_name = @date+"_"[email protected]+ " log.txt" 
     @file_name_path = '/cmf/samnew/build/Logs/'[email protected]_name 
    end 

    def createfile 
     $log1 = Logger.new(@file_name_path) 
     return $log1 
    end 

end 

我实现这SC一些不同的输出RIPT在下面的脚本

require '/cmf/samnew/build/Controller/logging' 


class Controller 

    #Generating log file 

    log = Logging.new 
    log1 = log.createfile 
    log1.warn "samarth global" 

end 

和输出是一样

# Logfile created on Thu Sep 20 12:03:20 +0530 2012 by/
samarth global 

所以,我应该怎么做是错在此代码或如何创建这样的输出上面

回答

1

也许你加载的宝石之一混淆全局格式化字符串。

试试这个定义你希望的格式

def createfile 
    $log1 = Logger.new(@file_name_path) 
    $log1.formatter = proc do |severity, datetime, progname, msg| 
    "#{severity[0]}, [#{datetime} \##{$$}] #{severity} --> #{msg} \n" 
    end 
    $log1 
end 
+0

好一个兄弟的感谢 – SSP