@Blacksmoke16 , Thanks!
Now my example looks like:
require "log"
FOO_LOGGER = Log.for "foo"
BAR_LOGGER = Log.for "bar"
Log.setup do |c|
foo_backend = Log::IOBackend.new(File.new("tmp/Foo.log", "a+"))
bar_backend = Log::IOBackend.new(File.new("tmp/Bar.log", "a+"))
c.bind "foo.*", :info, foo_backend
c.bind "bar.*", :info, bar_backend
end
i = 0
FOO_LOGGER.notice { ["notice", i += 1] }
BAR_LOGGER.warn { ["warn", i += 1] }
BAR_LOGGER.notice { ["notice", i += 1] }
FOO_LOGGER.warn { ["warn", i += 1] }
And, after clearing my log file contents,
- the
tmp/Foo.log
file looks like:
2021-10-12T00:58:43.165283Z NOTICE - foo: ["notice", 1]
2021-10-12T00:58:43.165302Z WARN - foo: ["warn", 4]
- the
tmp/Bar.log
(after I cleared the contents) looks like:
2021-10-12T00:58:43.165294Z WARN - bar: ["warn", 2]
2021-10-12T00:58:43.165298Z NOTICE - bar: ["notice", 3]