blob: a4f9842d073b044be47f8f938da669ac4e8a23b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
namespace Log {
private unowned FileStream file;
private FileStream fileowner;
public void init() {
set_file(cfg.get_string("config", "logfile"));
GLib.Log.set_default_handler(log_handler);
}
private void log_handler(string? domain, LogLevelFlags flags, string message) {
TimeVal time = {0};
time.get_current_time();
string s = "%.10ld | %15s | %s\n".printf(time.tv_usec, domain, message);
if(file != null) {
file.printf(s);
file.flush();
}
}
public bool set_file(string filename) {
switch(filename) {
case "stdout":
file = stdout;
break;
case "stderr":
file = stderr;
break;
default:
fileowner = FileStream.open(filename, "a");
file = fileowner;
break;
}
if(file == null)
return false;
return true;
}
}
|