web-dev-qa-db-ja.com

Tomcatコンソールログをファイルにリダイレクトする方法TomcatはWindows batから起動しました

Tomcatがサービスとして開始されると、出力ログが配置されます。

\logs\stderr.log  
\logs\stdout.log 

WindowsでTomcatがBATとして起動したときにこのログファイルを書き込む方法

PS:私はTomcatを次のように起動しようとしました:

call startup > ../logs/consolelog.log 2<&1

ただし、consolelog.logの出力には5行しかありません

Using CATALINA_BASE:   "C:\Java\Tomcat 5.0"
Using CATALINA_HOME:   "C:\Java\Tomcat 5.0"
Using CATALINA_TMPDIR: "C:\Java\Tomcat 5.0\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.5.0_22"
Using CLASSPATH:       "C:\Java\Tomcat 5.0\bin\bootstrap.jar"

そしてコンソールの多くの出力

3
popalka

編集conf/logging.propertiesそしてこの行を変更

.handlers = 1catalina.org.Apache.juli.FileHandler, Java.util.logging.ConsoleHandler

.handlers = 1catalina.org.Apache.juli.FileHandler

次に、catalina.<date>.log、コンソールではありません。

1
sourcedelica

受け入れられた回答が機能しない人のために:

同じ状況でしたが、(liferay-> Tomcat)startup.batを使用していて、常にTomcatコンソールを開きました。 startup.batファイルを編集して、ログをファイルに出力する方法は次のとおりです。

次の行を探します。

call "%EXECUTABLE%" start %CMD_LINE_ARGS% 

それを編集すると、次のようになります。

call "%EXECUTABLE%" run >..\logs\outputfile.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\outputfile.log 2>&1  

出力はTomcatのログフォルダーにあります。ファイルはoutputfile.logです。解決策は、 this forum からリンクされた this page で見つけた実験です。幸運を。

5
Ev0oD

私は再確認しませんでしたが、標準のWindowsおよびUnixの方法でコンソールI/Oをリダイレクトできると思います。

tomcart-start > C:\mylog\log.txt
0
Jules

私の理解する限り、あなたのケースではcall startupは使用しません。

試してください:

catalina run > ..\logs\consolelog.all 2>&1

または

catalina run > ..\logs\consolelog.out 2> ..\logs\consolelog.err

call startup最後の呼び出しcatalina startは、新しいコンソールを起動します。一方、catalina runは同じコンソールで実行され、必要に応じてstdout、stderrをリダイレクトできます。

0
mpt

Startup.batを更新しました

call "%EXECUTABLE%" jpda run >..\logs\server.log 2>&1 start %CMD_LINE_ARGS% >..\logs\server.log 2>&1

私のために働く。

0