Skip to content

Commit 82da4ee

Browse files
authored
Merge pull request #3 from tanmaykm/tan/misc
add connector for LogRoler.RollingFileWriter
2 parents 83228a6 + 8c072b9 commit 82da4ee

File tree

5 files changed

+30
-1
lines changed

5 files changed

+30
-1
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ keywords = ["configure", "compose", "logging", "logger"]
44
authors = ["tan <[email protected]>"]
55
license = "MIT"
66
desc = "Compose loggers and logger ensembles declaratively using configuration files"
7-
version = "0.1.1"
7+
version = "0.1.2"
88

99
[deps]
1010
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ LogCompose supports the following types of loggers at the moment:
9696
- LoggingExtras.TeeLogger
9797
- LogRoller.RollingLogger
9898
- LogRoler.RollingFileWriterTee
99+
- LogRoller.RollingFileWriter
99100
- SyslogLogging.SyslogLogger
100101

101102
### Plugging in other Loggers

src/connectors.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,16 @@ function logcompose(::typeof(LogRoller.RollingFileWriterTee), config::Dict{Strin
7373
LogRoller.RollingFileWriterTee(filename, sizelimit, nfiles, destination, level)
7474
end
7575

76+
function logcompose(::typeof(LogRoller.RollingFileWriter), config::Dict{String,Any}, logger_config::Dict{String,Any})
77+
filename = String(strip(logger_config["filename"]))
78+
@assert !isempty(filename)
79+
80+
level = log_assumed_level(logger_config, "Info")
81+
sizelimit = get(logger_config, "sizelimit", 10240000)
82+
nfiles = get(logger_config, "nfiles", 5)
83+
LogRoller.RollingFileWriter(filename, sizelimit, nfiles)
84+
end
85+
7686
function logcompose(::Type{LoggingExtras.TeeLogger}, config::Dict{String,Any}, logger_config::Dict{String,Any})
7787
destinations = [LogCompose.logger(config, dest) for dest in logger_config["destinations"]]
7888
LoggingExtras.TeeLogger(destinations...)

test/runtests.jl

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ function test()
55
default_logfile = "/tmp/default.log"
66
rotated_logfile = "/tmp/testapp.log"
77
rotated_tee_logfile = "/tmp/testapptee.log"
8+
rotated_plain_logfile = "/tmp/testplain.log"
89
rm(rotated_logfile; force=true)
910
rm(rotated_tee_logfile; force=true)
11+
rm(rotated_plain_logfile; force=true)
1012
rm(default_logfile; force=true)
1113

1214
let logger = LogCompose.logger(config, "default"; section="loggers")
@@ -42,6 +44,12 @@ function test()
4244
run(cmd)
4345
end
4446

47+
let logger = LogCompose.logger(config, "plainfile"; section="loggers")
48+
julia = joinpath(Sys.BINDIR, "julia")
49+
cmd = pipeline(`$julia -e 'println("testplainfilewriter"); flush(stdout)'`; stdout=logger, stderr=logger)
50+
run(cmd)
51+
end
52+
4553
log_file_contents = readlines(default_logfile)
4654
@test findfirst("testdefault", log_file_contents[1]) !== nothing
4755

@@ -52,6 +60,9 @@ function test()
5260

5361
log_file_contents = readlines(rotated_tee_logfile)
5462
@test "testteefilewriter" == log_file_contents[1]
63+
64+
log_file_contents = readlines(rotated_plain_logfile)
65+
@test "testplainfilewriter" == log_file_contents[1]
5566
end
5667

5768
test()

test/testapp.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,10 @@ filename = "/tmp/testapptee.log"
4747
# sizelimit = 10240000
4848
# nfiles = 5
4949
# assumed_level = "Debug" # Debug, Info (default) or Error
50+
51+
[loggers.plainfile]
52+
type = "LogRoller.RollingFileWriter"
53+
filename = "/tmp/testplain.log"
54+
# sizelimit = 10240000
55+
# nfiles = 5
56+
# assumed_level = "Debug" # Debug, Info (default) or Error

0 commit comments

Comments
 (0)