From 341b9cf15a6df3dae1ba6218b8545feec41fa728 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Tue, 15 Dec 2020 14:40:09 +0100 Subject: Add a project setting to enable stdout flushing in release builds This can be used in server builds for journalctl compatibility. --- doc/classes/ProjectSettings.xml | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc/classes') diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index eab06f633c..d0f2a927cb 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -269,6 +269,14 @@ If [code]true[/code], disables printing to standard output in an exported build. + + If [code]true[/code], flushes the standard output stream every time a line is printed. This affects both terminal logging and file logging. + When running a project, this setting must be enabled if you want logs to be collected by service managers such as systemd/journalctl. This setting is disabled by default on release builds, since flushing on every printed line will negatively affect performance if lots of lines are printed in a rapid succession. Also, if this setting is enabled, logged files will still be written successfully if the application crashes or is otherwise killed by the user (without being closed "normally"). + [b]Note:[/b] Regardless of this setting, the standard error stream ([code]stderr[/code]) is always flushed when a line is printed to it. + + + Debug build override for [member application/run/flush_stdout_on_print], as performance is less important during debugging. + Forces a delay between frames in the main loop (in milliseconds). This may be useful if you plan to disable vertical synchronization. -- cgit v1.2.3