legion-logging 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/legion-logging.gemspec +1 -0
- data/lib/legion/logging/builder.rb +14 -4
- data/lib/legion/logging/version.rb +1 -1
- metadata +15 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c5c68f56d267c3653df2d9a713072d2ab81445f437f64761e23ebd4bc8323e73
|
|
4
|
+
data.tar.gz: f78f23e438594a7eab25499a154b27d9fb0d043c54773c72c2f63affb9aa76b6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 05a90fe04d73b187c72bb1d5bdc732ae2b314670306174bf0430f0e996bab0ed7e76fa51209a7dd295c94f5b4bac173a67032de51f5d7d2e89fee5ddcf26c361
|
|
7
|
+
data.tar.gz: 2a3b358b39146cb6e7bb6971f5cd7e881a528df16bd8823bea4cfa7cd8877f09bb9d8c57770176274e1a44e09b2731a86ae39354cc1ba4966aa76685b7d36eeb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Legion::Logging Changelog
|
|
2
2
|
|
|
3
|
+
## v1.2.5
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- Added `logger` gem as runtime dependency for Ruby 4.0 compatibility (removed from default gems)
|
|
7
|
+
|
|
8
|
+
## v1.2.4
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- Expand `~` in log_file paths with `File.expand_path` (fixes `Errno::ENOENT` for paths like `~/.legionio/logs/legion.log`)
|
|
12
|
+
- Auto-create parent directories for log files with `FileUtils.mkdir_p`
|
|
13
|
+
|
|
3
14
|
## v1.2.3
|
|
4
15
|
|
|
5
16
|
### Changed
|
data/legion-logging.gemspec
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
|
|
3
5
|
module Legion
|
|
4
6
|
module Logging
|
|
5
7
|
module Builder
|
|
@@ -61,11 +63,12 @@ module Legion
|
|
|
61
63
|
|
|
62
64
|
def output(**options)
|
|
63
65
|
if options[:log_file] && options[:log_stdout] != false
|
|
66
|
+
path = prepare_log_path(options[:log_file])
|
|
64
67
|
require_relative 'multi_io'
|
|
65
|
-
io = MultiIO.new($stdout, File.open(
|
|
68
|
+
io = MultiIO.new($stdout, File.open(path, 'a'))
|
|
66
69
|
@log = ::Logger.new(io)
|
|
67
70
|
elsif options[:log_file]
|
|
68
|
-
@log = ::Logger.new(options[:log_file])
|
|
71
|
+
@log = ::Logger.new(prepare_log_path(options[:log_file]))
|
|
69
72
|
else
|
|
70
73
|
@log = ::Logger.new($stdout)
|
|
71
74
|
end
|
|
@@ -77,16 +80,23 @@ module Legion
|
|
|
77
80
|
|
|
78
81
|
def set_log(logfile: nil, log_stdout: nil, **)
|
|
79
82
|
if logfile && log_stdout != false
|
|
83
|
+
path = prepare_log_path(logfile)
|
|
80
84
|
require_relative 'multi_io'
|
|
81
|
-
io = MultiIO.new($stdout, File.open(
|
|
85
|
+
io = MultiIO.new($stdout, File.open(path, 'a'))
|
|
82
86
|
@log = ::Logger.new(io)
|
|
83
87
|
elsif logfile
|
|
84
|
-
@log = ::Logger.new(logfile)
|
|
88
|
+
@log = ::Logger.new(prepare_log_path(logfile))
|
|
85
89
|
else
|
|
86
90
|
@log = ::Logger.new($stdout)
|
|
87
91
|
end
|
|
88
92
|
end
|
|
89
93
|
|
|
94
|
+
def prepare_log_path(path)
|
|
95
|
+
expanded = File.expand_path(path)
|
|
96
|
+
FileUtils.mkdir_p(File.dirname(expanded))
|
|
97
|
+
expanded
|
|
98
|
+
end
|
|
99
|
+
|
|
90
100
|
def level
|
|
91
101
|
log.level
|
|
92
102
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: legion-logging
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Esity
|
|
@@ -9,6 +9,20 @@ bindir: bin
|
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: logger
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '0'
|
|
12
26
|
- !ruby/object:Gem::Dependency
|
|
13
27
|
name: rainbow
|
|
14
28
|
requirement: !ruby/object:Gem::Requirement
|