草庐IT

env_logger

全部标签

ruby - 为什么 #!/usr/bin/env ruby​​ 在 crontab 中不起作用?

我已经通过rvm(系统范围)安装了ruby​​,并通过普通控制台正常工作,并且我的rails程序在railsrunner和apache2+passenger上运行正常.现在在crontab中,我调用了railsrunnerfoo.bar,它放弃了,仔细检查我看到的日志:/usr/bin/env:ruby:Nosuchfileordirectory有人知道为什么/usr/bin/env在crontab中不起作用吗? 最佳答案 如果您通过rvm安装了ruby​​,则ruby​​可能不在/usr/bin中。取决于rvm的安装位置:bash

ruby - 可配置的 ruby​​ 记录器设置 : Logger. new().level = variable

我想更改应用程序(ruby)的日志记录级别。require'logger'config={:level=>'Logger::WARN'}log=Logger.newSTDOUTlog.level=Kernel.const_getconfig[:level]好吧,irb对此并不满意,并向我抛出“NameError:错误的常量名称Logger::WARN”。啊!我被侮辱了。我可以在某些情况下/何时解决这个问题,或者做log.level=1,但必须有更优雅的方法!有没有人有什么想法?-丹尼尔 最佳答案 为什么不直接在config哈希中使用

ruby-on-rails - Rails 4 + Rspec + 设计 : undefined method 'env' in controller specs for sign_in a user

在我的spec_helper.rb中我添加了config.includeDevise::TestHelpers,:type=>:controller在:allhook之前的Controller规范中,我正在尝试使用此代码登录用户@request.env["devise.mapping"]=Devise.mappings[:user]user=FactoryGirl.create(:confirmed_user)sign_inuser并得到NoMethodError:undefinedmethod`env'fornil:NilClass。有什么想法吗? 最佳答

ruby - #!/usr/bin/env ruby​​ 在 cron 中找不到

我有一个简单的ruby​​脚本,hello.rb:#!/usr/bin/envrubyputs'hello'在命令行下运行正常:#/usr/local/src/hello/hello.rbhello但是,如果我把它放在cron中:*****/usr/local/src/hello/hello.rb>>/usr/local/src/hello/hello.log2>&1日志文件中有错误:/usr/bin/env:ruby:Nosuchfileordirectory/usr/bin/env:ruby:Nosuchfileordirectory.../usr/bin/env:ruby:Nos

ruby - 将 stderr 重定向到 Logger 实例

我有一个Logger实例:require'logger'logger=Logger.new('foo.log','weekly')我也想将运行时错误(stderr输出)重定向到日志中。我找到了thisforumthread其中有建议:new_fd=logger.get_logger_file_descriptor$stderr.reopennew_fd但是,Logger没有实例方法get_logger_file_descriptor,我也找不到任何公开的获取日志设备或文件访问权限的方法。如何让所有$stderr输出进入日志? 最佳答案

ruby-on-rails - ENV 变量中的 Capistrano 和 API key ?

我正在使用Capistrano部署我的Rails应用程序。我想在服务器上保存一些APIkey作为环境变量。我使用Capistrano部署的Rails应用程序应该可以访问这些APIkey。作为守护进程运行的单独的ruby​​文件也应该可以访问这些APIkey。在环境变量中设置APIkey似乎是理想的解决方案,但是,我无法在我的Rails应用程序中使用ENV["SOME_KEY"]访问它们。根据thispost,因为capistrano以非交互和非登录方式运行,~/.bashrc和~/.bash_profile未加载。流程图建议我应该使用$BASH_ENV。我可以只在$BASH_ENV中添

ruby-on-rails - 警告 : Cucumber-rails required outside of env. rb

基本上,我尝试在我的应用程序中使用twitter-bootstrap-rails和devisegem。但是,当我尝试执行rakedb:migrate时,它一直提示Cucumber。cucumber-rails位于Gemfile中的group:development,:test下。我的gem环境:RubyGemsEnvironment:-RUBYGEMSVERSION:1.8.17-RUBYVERSION:1.9.2(2011-07-09patchlevel290)[x86_64-darwin11.3.0]-INSTALLATIONDIRECTORY:/Users/user1/.rvm/

ruby - Ruby 的 stdlib Logger 类能否安全地处理来自多个进程的编写器?

我正在开发一个需要进行日志记录的Ruby库。理想情况下,我希望多个工作进程能够登录同一个文件。查看来自Ruby标准库的Logger类的源代码,我看到努力从多个线程同步写入日志(正如对IsRuby'sstdlibLoggerclassthread-safe?的回答中所指出的)。当多个进程写入同一个日志文件时,似乎存在类似的问题:根据底层决定缓冲/拆分写入的方式,每个日志消息可能无法保持其完整性。那么,有没有一种方法可以使用标准的Logger类来允许多个进程安全地记录到一个文件中?如果不是,这在Ruby项目中通常是如何完成的?这就是我所说的“安全”的意思:每个日志行都是“原子的”——在下一

ruby -/usr/bin/env ruby​​_noexec_wrapper 失败,没有文件或目录

当我尝试将chef-solr作为服务启动时,它因以下错误而失败#servicechef-solrstartStartingchef-solr:/usr/bin/env:ruby_noexec_wrapper:Nosuchfileordirectory[FAILED]但是当我从命令行手动运行它时它运行成功#chef-solr-d-c/etc/chef/solr.rb-L/var/log/chef/solr.log-P/var/run/chef/solr.pid#echo$?0#ps-ef|grepchefroot269111204:19?00:00:01java-Xmx256M-Xms2

ruby - "__rvm_do_with_env_before"和 "__rvm_after_cd"执行 "cd"时

我最近卸载了RVM(我认为主要是)。当我在终端中“cd”时,我得到:Adams-MacBook-Pro%cd__rvm_do_with_env_before:source:5:nosuchfileordirectory:/Users/adam/.rvm/scripts/initialize__rvm_after_cd:source:5:nosuchfileordirectory:/Users/adam/.rvm/scripts/hook我该如何解决这个问题?我猜是因为我没有完全卸载RVM。rvmimplode之后我还剩下哪些步骤要做谢谢 最佳答案