草庐IT

日志logging模块

全部标签

ruby - 如何更改 Sinatra 中的日志级别

我正在使用此代码在我的Sinatra应用程序中启用日志记录:log_file=File.new('my_log_file.log',"a")$stdout.reopen(log_file)$stderr.reopen(log_file)$stdout.sync=true$stderr.sync=true实际的日志记录是使用:logger.debug("Startingcall.Params=#{params.inspect}")事实证明,只有INFO或更高级别的日志消息被记录,而DEBUG消息没有被记录。我正在寻找一种将日志级别设置为DEBUG的方法。 最佳

ruby - 带有 grep 远程日志文件的 tail

我有这段代码来跟踪远程日志文件:defdo_tail(session,file)session.open_channeldo|channel|channel.on_datado|ch,data|puts"[#{file}]->#{data}"endchannel.exec"tail-f#{file}"endNet::SSH.start("host","user",:password=>"passwd")do|session|do_tailsession,"/path_to_log/file.log"session.loop我只想在file.log中检索带有ERROR字符串的行,我正在尝

ruby-on-rails - 使用 Rails 5 完成类(class)和模块分配给用户

编辑#2这是类(class)ControllerclassCoursesController编辑#1因此,根据下面Jagdeep的回答,我现在完成了以下操作:类(class).rbclassCoursecourse_modules_user.rbclassCourseModulesUsercourses_user.rbclassCoursesUser用户.rbclassUser迁移classCreateCoursesUsers但是,我遇到这样的错误原始问题所以这是previousquestion的延续,然而,这会偏离那个主题,所以这里是一个新的主题。在此之后,我大致得到了我想要开始工作

ruby-on-rails - Spree 模块装饰器

我正在为我的在线商店使用SpreeCommerce。我想在结帐过程中更改一些行为,这些行为在spreegem内的app/models/spree/order/checkout.rb中定义。所以我在我的应用程序中的同一点创建了一个checkout_decorator.rb。问题是,我的更改没有加载。另一个问题是,模块内的所有内容都在一个方法内,即defself.included(klass)方法。所以我想我必须覆盖整个文件,而不是只覆盖一种方法。这是我的装饰器的样子:checkout_decorator.rbSpree::Order::Checkout.module_evaldodefs

Ruby 守护进程日志轮换

当我为Daemons(1.1.0)gem设置日志记录参数时,我将如何实现与此行类似的行为?logger=Logger.new('foo.log',10,1024000)守护进程选项:options={:ARGV=>['start'],:dir_mode=>:normal,:dir=>log_dir,:multiple=>false,:ontop=>false:mode=>:exec,:backtrace=>true,:log_output=>true} 最佳答案 不幸的是,Daemonsgem不使用Logger。它将STDOUT和S

ruby-on-rails - 在 Rails 应用程序的前端获取实时日志

在Rails3.x应用程序中,我正在使用net::ssh并向远程pc运行一些命令。我想向用户的浏览器显示实时日志。比如,如果两个命令在net中运行::ssh执行即echo"Hello",echo"Bye"被传递然后"Hello"应该在执行后立即显示在浏览器中。这是代码我在ruby​​onrails应用程序中使用ssh连接和运行命令Net::SSH.start(@servers['local'],@machine_name,:password=>@machine_pwd,:timeout=>30)do|ssh|ssh.open_channeldo|channel|channel.requ

ruby-on-rails - 如何在模块中为类方法起别名?

我正在使用Rubyv1.9.2和RubyonRailsv3.2.2gem。我有以下模块moduleMyModuleextendActiveSupport::Concernincludeddodefself.my_method(arg1,arg2)...endendend我想为类方法my_method起别名。因此,我声明了以下(不工作)代码:moduleMyModuleextendActiveSupport::Concernincludeddodefself.my_method(arg1,arg2)...end#Note:thefollowingcodedoesn'twork(itrai

ruby - gem 应该在哪里存储日志文件?

我正在构建一个应该输出日志文件的ruby​​gem。将日志文件存储在哪里是一个好习惯?我正在从我正在构建的Rails网站中提取此功能,我可以在那里简单地登录到log/目录。 最佳答案 理想情况下,使路径可配置(.rc文件、交换机、rails/rack配置等)。如果它是一个Rack中间件,添加在构造函数的参数中指定它的可能性。如果没有提供日志路径,回退到检测日志目录。(我依稀记得它是Rails中的config.paths['log'],但如果可以的话,请确保config在你的gem中使用之前确实指向某些东西在Rails之外使用。)如果

ruby - ruby 中是否有针对 ISO 8601 的综合库/模块?

是否已经实现了ISO8601的所有日期、时间、持续时间和间隔使用情况?ruby标准?我的意思是类似于类的东西,您可以在其中设置和获取详细信息,例如年、月、日、星期几、星期、小时、分钟、is_duration?、has_recurrence?等等也可以设置并导出到字符串? 最佳答案 require'time'time=Time.iso8601Time.now.iso8601#iso8601stringtime.year#=>Yearofthedatetime.month#=>Monthofthedate(1to12)time.day#

ruby - 回调模块中定义的类

Ruby已经有几个built-incallbacks.这种情况有回调吗?有点像method_added,但用于模块内的类(或常量),而不是类内的实例方法。 最佳答案 据我所知,没有什么与您描述的完全一样。但是,您可以使用Class::inherited创建自己的类。moduleMyModuledefself.class_added(klass)#...handleitendclass::Classalias_method:old_inherited,:inheriteddefinherited(subclass)MyModule.c