@@ -35,14 +35,15 @@ proc Kratos::InitLog { } {
3535proc Kratos::Log {msg} {
3636 variable kratos_private
3737
38- if {! $Kratos::kratos_private(allow_logs) } { return " " }
38+ if {[ info exists kratos_private(Log)] && $Kratos::kratos_private(allow_logs) > 0} {
3939
40- if {[info exists kratos_private(Log)]} {
41- lappend kratos_private(Log) " *~* [ clock format [clock seconds] -format {%Z %Y-%m-%d %H:%M:%S }] | $msg "
40+ if {[info exists kratos_private(Log)]} {
41+ lappend kratos_private(Log) " *~* [ clock format [clock seconds] -format {%Z %Y-%m-%d %H:%M:%S }] | $msg "
4242
43- # One of the triggers is to flush if we've stored more than 5
44- if {[llength $kratos_private(Log) ] > 5} {
45- Kratos::FlushLog
43+ # One of the triggers is to flush if we've stored more than 5
44+ if {[llength $kratos_private(Log) ] > 5} {
45+ Kratos::FlushLog
46+ }
4647 }
4748 }
4849}
@@ -51,6 +52,7 @@ proc Kratos::FlushLog { } {
5152 variable kratos_private
5253
5354 if {[info exists kratos_private(Log)]} {
55+ # only disturb the disk if we have something new to write
5456 if {[llength $kratos_private(Log) ] > 0} {
5557 set logpath [Kratos::GetLogFilePath]
5658
@@ -66,14 +68,18 @@ proc Kratos::FlushLog { } {
6668 }
6769
6870 set kratos_private(Log) [list ]
71+ # Move it to the model, so the user can see and store to get support
72+ # Keep the original to keep centralized data to send to the servers
73+ if {$Kratos::kratos_private(model_log_folder) ne " " } {
74+ Kratos::MoveLogsToFolder $Kratos::kratos_private(model_log_folder) 0
75+ }
6976 }
7077 }
7178
7279}
7380
7481proc Kratos::AutoFlush {} {
7582 if {! $Kratos::kratos_private(allow_logs) } {return " " }
76- Kratos::FlushLog
7783 after 5000 {Kratos::AutoFlush}
7884}
7985
@@ -88,3 +94,10 @@ if { [GiD_Set SaveGidDefaults] } {
8894 Kratos::InitLog
8995}
9096
97+ proc Kratos::MoveLogsToFolder {folder {flush_log 1}} {
98+
99+ if {! $Kratos::kratos_private(allow_logs) } {return " " }
100+ if {$flush_log } {FlushLog}
101+ if {![file exists $folder ]} {file mkdir $folder }
102+ file copy -force [Kratos::GetLogFilePath] $folder
103+ }
0 commit comments