File tree Expand file tree Collapse file tree 6 files changed +42
-7
lines changed Expand file tree Collapse file tree 6 files changed +42
-7
lines changed Original file line number Diff line number Diff line change 1
- namespace OWML . Common
1
+ using System ;
2
+
3
+ namespace OWML . Common
2
4
{
3
5
public interface IOwmlConfig
4
6
{
@@ -25,5 +27,7 @@ public interface IOwmlConfig
25
27
bool IncrementalGC { get ; set ; }
26
28
27
29
int SocketPort { get ; set ; }
30
+
31
+ DateTime LoadTime { get ; set ; }
28
32
}
29
33
}
Original file line number Diff line number Diff line change 1
- using System . IO ;
1
+ using System ;
2
+ using System . IO ;
2
3
using Newtonsoft . Json ;
3
4
4
5
namespace OWML . Common
@@ -17,6 +18,9 @@ public class OwmlConfig : IOwmlConfig
17
18
[ JsonProperty ( "incrementalGC" ) ]
18
19
public bool IncrementalGC { get ; set ; }
19
20
21
+ [ JsonProperty ( "loadTime" ) ]
22
+ public DateTime LoadTime { get ; set ; }
23
+
20
24
[ JsonIgnore ]
21
25
public bool IsSpaced => Directory . Exists ( Path . Combine ( GamePath , "Outer Wilds_Data" ) ) ;
22
26
Original file line number Diff line number Diff line change 3
3
"author" : " Alek" ,
4
4
"name" : " OWML" ,
5
5
"uniqueName" : " Alek.OWML" ,
6
- "version" : " 2.14.0 " ,
6
+ "version" : " 2.14.1 " ,
7
7
"minGameVersion" : " 1.1.15.1018" ,
8
8
"maxGameVersion" : " 1.1.15.1018"
9
9
}
Original file line number Diff line number Diff line change 1
1
using System ;
2
+ using System . IO ;
2
3
using OWML . Abstractions ;
3
4
using OWML . Common ;
4
5
using OWML . GameFinder ;
@@ -25,6 +26,7 @@ public static Container CreateContainer(string[] args)
25
26
var hasConsolePort = argumentHelper . HasArgument ( Constants . ConsolePortArgument ) ;
26
27
SaveConsolePort ( owmlConfig , hasConsolePort , argumentHelper ) ;
27
28
SaveOwmlPath ( owmlConfig ) ;
29
+ SaveCurrentLogPath ( owmlConfig ) ;
28
30
var owmlManifest = GetOwmlManifest ( ) ;
29
31
var consoleWriter = CreateConsoleWriter ( owmlConfig , owmlManifest , hasConsolePort ) ;
30
32
@@ -79,6 +81,17 @@ private static void SaveOwmlPath(IOwmlConfig owmlConfig)
79
81
JsonHelper . SaveJsonObject ( Constants . OwmlConfigFileName , owmlConfig ) ;
80
82
}
81
83
84
+ private static void SaveCurrentLogPath ( IOwmlConfig owmlConfig )
85
+ {
86
+ if ( File . Exists ( $ "{ owmlConfig . LogsPath } /latest.txt") )
87
+ {
88
+ File . Delete ( $ "{ owmlConfig . LogsPath } /latest.txt") ;
89
+ }
90
+
91
+ owmlConfig . LoadTime = DateTime . Now ;
92
+ JsonHelper . SaveJsonObject ( Constants . OwmlConfigFileName , owmlConfig ) ;
93
+ }
94
+
82
95
private static IModManifest GetOwmlManifest ( ) =>
83
96
JsonHelper . LoadJsonObject < ModManifest > ( Constants . OwmlManifestFileName ) ;
84
97
Original file line number Diff line number Diff line change @@ -9,16 +9,19 @@ public class ModLogger : IModLogger
9
9
{
10
10
private readonly IModManifest _manifest ;
11
11
private static string _logFileName ;
12
+ private static string _latestFileName ;
12
13
13
14
public ModLogger ( IOwmlConfig config , IModManifest manifest )
14
15
{
15
16
_manifest = manifest ;
16
- _logFileName = $ "{ config . LogsPath } /OWML.Log.{ DateTime . Now : dd -MM-yyyy-HH .mm.ss} .txt";
17
+ _logFileName = $ "{ config . LogsPath } /OWML.Log.{ config . LoadTime : yyyy -MM-ddTHH .mm.ss} .txt";
17
18
18
19
if ( ! Directory . Exists ( config . LogsPath ) )
19
20
{
20
21
Directory . CreateDirectory ( config . LogsPath ) ;
21
22
}
23
+
24
+ _latestFileName = $ "{ config . LogsPath } /latest.txt";
22
25
}
23
26
24
27
[ Obsolete ( "Use ModHelper.Console.WriteLine with messageType = Debug instead." ) ]
@@ -29,7 +32,18 @@ public void Log(string s) =>
29
32
public void Log ( params object [ ] objects ) =>
30
33
Log ( string . Join ( " " , objects . Select ( o => o . ToString ( ) ) . ToArray ( ) ) ) ;
31
34
32
- private static void LogInternal ( string message ) =>
33
- File . AppendAllText ( _logFileName , $ "{ DateTime . Now } : { message } { Environment . NewLine } ") ;
35
+ private static void LogInternal ( string message )
36
+ {
37
+ var text = $ "{ DateTime . Now } : { message } { Environment . NewLine } ";
38
+ try
39
+ {
40
+ File . AppendAllText ( _logFileName , text ) ;
41
+ File . AppendAllText ( _latestFileName , text ) ;
42
+ }
43
+ catch
44
+ {
45
+ // ignored
46
+ }
47
+ }
34
48
}
35
49
}
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ private Harmony CreateInstance()
33
33
if ( _owmlConfig . DebugMode )
34
34
{
35
35
_console . WriteLine ( "Enabling Harmony debug mode." , MessageType . Debug ) ;
36
- FileLog . logPath = $ "{ _owmlConfig . LogsPath } /Harmony.Log.{ DateTime . Now : dd -MM-yyyy-HH .mm.ss} .txt";
36
+ FileLog . logPath = $ "{ _owmlConfig . LogsPath } /Harmony.Log.{ _owmlConfig . LoadTime : yyyy -MM-ddTHH .mm.ss} .txt";
37
37
HarmonyFileLog . Enabled = true ;
38
38
}
39
39
harmony = new Harmony ( _manifest . UniqueName ) ;
You can’t perform that action at this time.
0 commit comments