2010-02-24 7 views
7

Ich verwende ColdFusion 8-Anwendungsserver auf Windows-Computern. ColdFusion wird als Windows-Dienst ausgeführt.JRun/Coldfusion - System.out - Wie verhindert man, dass es zu groß wird?

Ich habe festgestellt, dass System.out Datei ist massiv (1GB +) auf einigen der Maschinen.

z.B.

C: \ ColdFusion8 \ runtime \ bin \ System.out

Ich verstehe, das ist, wo die Konsolenausgabe bis endet, wenn CF als Dienst ausgeführt wird, aber gibt es eine JRun Einstellung mir zu erlauben, Speichern Sie diese Datei aus jedem x MB, oder um die Größe der Datei oder etwas ähnliches zu begrenzen?

Alle Tipps geschätzt!

WICHTIG EDIT:

Basierend auf einer Diskussion here - ich dachte, es wichtig zu erwähnen, dass die System.out Datei auf unseren Maschinen groß geworden ist wegen viel Code in diese Datei zu schreiben, das heißt mit:

Wenn Sie CF als Konsolenauftrag (dh über die Befehlszeile) ausführen, ist dies ein nützliches Debugging-Tool, da ältere Versionen von CF nicht in der Konsole protokolliert wurden, wenn <cflog /> verwendet wurde.

Wir haben unsere Entwickler gebeten, diese Vorgehensweise zu beenden und stattdessen <cflog /> oder writeLog() zu verwenden, die sowohl in der Konsole als auch im Anwendungsprotokoll (standardmäßig) protokolliert werden.

Antwort

8

Es sieht aus, wie wenn Sie für Ihre Coldfusion-Server-Datei in den jrun.xml gehen und finden Sie die Zeile:

<attribute name="rotationSize">200k</attribute> 
    <attribute name="rotationFiles">3</attribute> 
    <!-- Use heading to specify an alternate log heading for system event log. --> 
    <!-- EXAMPLE: <attribute name="heading"># Created by JRun on {date MM/dd HH:mm:ss}</attribute> --> 
    <attribute name="closeDelay">5000</attribute> 
    <attribute name="deleteOnExit">false</attribute> 

:

<service class="jrunx.logger.ConsoleLogEventHandler" name=":service=ConsoleLogEventHandler" /> 

Sie sollten diese Bits, um es hinzuzufügen zu können, Und dann manipuliere die Einstellungen so, wie du es für richtig hältst. Jedoch according to this blog entry, you cannot change the name of the file.

+0

Es gibt tatsächlich einen XML-Knoten für die Coldfusion-Protokolldateien, und Sie können einen weiteren -Knoten mit einem eindeutigen Namen hinzufügen und ihn auf {jrun.rootdir} /bin/System.out richten, um diese Datei zu sortieren - funktioniert ein Charme! –

+0

Es gibt eine andere Möglichkeit, dies zu tun: Führen Sie einen CF-Code in Ihrer Anwendung aus, um die Datei nach Bedarf zu überschreiben. Das funktioniert, aber es scheint CF daran zu hindern, danach anzuhängen. Könnte nicht jedem passen. –

+0

Bitte beachten Sie die Kommentare hier: http://www.carehart.org/blog/client/index.cfm/2010/10/15/controlling_size_of_CF_out_logs für eine ausführlichere Diskussion zu diesem Thema - das Ende ist die Verwendung von 'System.out.println() 'und verwenden Sie stattdessen' 'oder' writeLog() '. –