2017-01-30 12 views
0

RubyのLoggerクラスに誰かが問題を抱えていたのですか?私のプロジェクトでは、Loggerはパッケージ化されたファイルへのロギングを停止します。Rubyのロガーをパッケージ化する際に問題がありますか?

+0

「パッケージ」とはなんですか?これは標準ライブラリの一部です。私はあなたのプロジェクトにコピーしていないことを願っています... – coreyward

+0

ログを初期化するときに、ファイルパスを使ってログに記録しますか?あなたのアプリがパッケージ化されてもそのパスはまだそこにありますか? – peter

答えて

0

私は他のところで質問をして答えを得ましたが、ここで私のソリューションを掲載して徹底的に投稿しています。アプリケーションをパッケージ化すると、ロギングに使用した相対ファイルパスはもはや機能しなくなりました。これらのパスを絶対パス(C:/ ....)に変更すると、アプリケーションが再びログを記録し始めました。

require("logger") 

Shoes.app { 
    logger = Logger.new("C:/Users/Max/Desktop/loggertest/logfile.log") 
    logger.level = Logger::WARN 

    logger.info "#1 this is an info" 
    logger.warn "#2 this is a warn" 
    logger.debug "#3 this is a debug" 
    logger.error "#4 this is an error" 
} 
+0

適切なファイルシステムトラバーサルのために 'File.expand_path( '../ logfile.log'、__FILE __)'を使ってみてください。 – illusionist

関連する問題