chenyc
2025-05-29 92f69c57b920cf62ecc9f15f9ed196fa26dbf2ac
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
var moment = require('moment');
// var rotatingLogStream = require('../FileStreamRotator').getStream({filename:"/tmp/testlog-%DATE%.log", frequency:"1m", verbose: true});
// var rotatingLogStream = require('../FileStreamRotator').getStream({filename:"/tmp/testlog-%DATE%.log", frequency:"custom", verbose: true, date_format: "YYYY-MM-DD.HH.mm"});
// var rotatingLogStream = require('../FileStreamRotator').getStream({filename:"/tmp/testlog-%DATE%.log", frequency:"dont-rotate", verbose: true, date_format: "YYYY-MM-DD.HH.mm.ss"});
// var rotatingLogStream = require('../FileStreamRotator').getStream({filename:"/tmp/testlog-%DATE%.log", frequency:"daily", verbose: true, date_format: "YYYYMMDD"});
// var rotatingLogStream = require('../FileStreamRotator').getStream({filename:"/tmp/testlog-%DATE%.log", frequency:"daily", verbose: true});
 
const symLinkName = "tail.log"
 
var rotatingLogStream = require('../FileStreamRotator').getStream({
    filename: "logs/1m/testlog-%DATE%", 
    frequency: "1m", 
    verbose: true, 
    date_format: "YYYY-MM-DD.HH.mm", 
    size: "100k", 
    max_logs: "10",
    audit_file: "/tmp/audit.json",
    end_stream: false,
    utc: true,
    extension: ".log",
    create_symlink: true,
    watch_log: true,
    // symlink_name: "tail.log"
    symlink_name: symLinkName
});
 
rotatingLogStream.on("error", function () {
    console.log(Date.now(), Date(), "stream error", arguments)
})
 
 
rotatingLogStream.on("close", function () {
    console.log(Date.now(), Date(), "stream closed")
})
 
rotatingLogStream.on("finish", function () {
    console.log(Date.now(), Date(), "stream finished")
})
 
rotatingLogStream.on("rotate", function (oldFile, newFile) {
    console.log(Date.now(), Date(), "stream rotated", oldFile, newFile);
})
 
rotatingLogStream.on("open", function (fd) {
    console.log(Date.now(), Date(), "stream open", fd);
})
 
rotatingLogStream.on("new", function (newFile) {
    console.log(Date.now(), Date(), "stream new", newFile);
})
 
rotatingLogStream.on("logRemoved", function (newFile) {
    console.log(Date.now(), Date(), "stream logRemoved", newFile);
})
 
// console.log(rotatingLogStream.on, rotatingLogStream.end, rotatingLogStream)
 
 
// var rotatingLogStream1 = require('../FileStreamRotator').getStream({
//     filename: "/tmp/a/logs/1m-1/testlog-%DATE%.log", 
//     frequency: "1m", 
//     verbose: true, 
//     date_format: "YYYY-MM-DD.HH.mm", 
//     size: "50k", 
//     max_logs: "10",
//     audit_file: "/tmp/audit-1.json",
//     end_stream: false
// });
 
var counter = 0;
var i = setInterval(function () {
    counter++;
    rotatingLogStream.write(Date() + "\t" + "testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890\n")
    // rotatingLogStream1.write(Date() + "\t" + "testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890-testing 1234567890\n")
    if (counter == 5000) {
        clearInterval(i);
        rotatingLogStream.end("end\n");
        // rotatingLogStream1.end("end\n");
    }
}, 10);
 
// var i = setTimeout(function () {
//     rotatingLogStream.emit("createLog")
// }, 10000);