loggerx 0.3.1 → 0.3.2
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/.tool-versions +1 -1
- data/lib/loggerx/loggerxcm.rb +77 -28
- data/lib/loggerx/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b94fc11a31ed8efbf76e939a7765325fc226339bdea71edb61c026a16f2dad67
|
4
|
+
data.tar.gz: 48b1a9cca11d4610bdfc1146d5a83076827e8be5b045e3d9c7501b39608734e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73b6239ea4cbc60897f3017a7ed10b56d2a1de0abbb9aa5a21ef58d5217a88dda7444253d7c4e6b472f96d6e5b3064e41addb76eeb6f3d3d669623373714cefa
|
7
|
+
data.tar.gz: 73d856baf3ab5a92e6415bac098bba6915aaf6a789ea136c5d4a11e015cb0f5337baf70d3ce231903f11f8b1e8cbd4845c530f989c931d0afa0ea3f887c59775
|
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 3.
|
1
|
+
ruby 3.3.4
|
data/lib/loggerx/loggerxcm.rb
CHANGED
@@ -3,17 +3,33 @@
|
|
3
3
|
require 'pathname'
|
4
4
|
|
5
5
|
module Loggerx
|
6
|
+
# The `Loggerx::Loggerxcm0` class is designed to provide logging functionality specific to the Mkspec framework.
|
7
|
+
# It encapsulates the logging mechanism, offering a unified interface for recording various levels of messages,
|
8
|
+
# such as debug, info, warning, and error. This class aims to facilitate debugging and tracking of the application's
|
9
|
+
# flow by providing detailed and structured log messages. It can be configured to log messages to different outputs,
|
10
|
+
# including standard output, files, or external logging services, depending on the needs of the framework.
|
11
|
+
#
|
12
|
+
# @example Logging a debug message
|
13
|
+
# Loggerx::Loggerxcm0.debug("This is a debug message")
|
14
|
+
#
|
15
|
+
# @example Logging an error message
|
16
|
+
# Loggerx::Loggerxcm0.error("This is an error message")
|
17
|
+
#
|
18
|
+
# This class may also support log rotation, filtering of log messages based on severity, and formatting of log messages
|
19
|
+
# to include timestamps, source identifiers, and other relevant information.
|
6
20
|
class Loggerxcm0
|
21
|
+
# Implementation omitted
|
7
22
|
require 'logger'
|
8
23
|
require 'fileutils'
|
9
24
|
require 'stringio'
|
10
25
|
|
11
|
-
LOG_FILENAME_BASE = "#{Time.now.strftime(
|
26
|
+
LOG_FILENAME_BASE = "#{Time.now.strftime('%Y%m%d-%H%M%S')}.log".freeze
|
12
27
|
@log_file = nil
|
13
28
|
@log_stdout = nil
|
14
29
|
@stdout_backup = $stdout
|
15
|
-
@stringio = StringIO.new(+
|
16
|
-
|
30
|
+
@stringio = StringIO.new(+"", 'w+')
|
31
|
+
|
32
|
+
@valid = false
|
17
33
|
|
18
34
|
class << self
|
19
35
|
def ensure_quantum_log_files(log_dir_pn, limit_of_num_of_files, prefix)
|
@@ -32,7 +48,7 @@ module Loggerx
|
|
32
48
|
warn: Logger::WARN,
|
33
49
|
error: Logger::ERROR,
|
34
50
|
fatal: Logger::FATAL,
|
35
|
-
unknown: Logger::UNKNOWN
|
51
|
+
unknown: Logger::UNKNOWN
|
36
52
|
}
|
37
53
|
@log_dir_pn = Pathname.new(log_dir)
|
38
54
|
|
@@ -51,10 +67,15 @@ module Loggerx
|
|
51
67
|
end
|
52
68
|
register_log_format(obj)
|
53
69
|
register_log_level(level_hs[level])
|
54
|
-
end
|
55
70
|
|
56
|
-
|
57
|
-
|
71
|
+
@valid = true
|
72
|
+
|
73
|
+
Loggerxcm.fatal("fatal")
|
74
|
+
Loggerxcm.debug("debug")
|
75
|
+
Loggerxcm.info("info")
|
76
|
+
Loggerxcm.warn("warn")
|
77
|
+
Loggerxcm.error("error")
|
78
|
+
# Loggerxcm.unknown("unknown")
|
58
79
|
end
|
59
80
|
|
60
81
|
def setup_logger_stdout(log_stdout)
|
@@ -62,7 +83,8 @@ module Loggerx
|
|
62
83
|
|
63
84
|
begin
|
64
85
|
log_stdout = Logger.new($stdout)
|
65
|
-
rescue StandardError
|
86
|
+
rescue StandardError => exc
|
87
|
+
pust exc.message
|
66
88
|
@error_count += 1
|
67
89
|
end
|
68
90
|
log_stdout
|
@@ -72,10 +94,11 @@ module Loggerx
|
|
72
94
|
filepath = Pathname.new(log_dir).join(fname)
|
73
95
|
if log_file.nil?
|
74
96
|
begin
|
75
|
-
log_file = Logger.new(filepath)
|
76
|
-
|
77
|
-
|
78
|
-
rescue StandardError
|
97
|
+
log_file = Logger.new(filepath.to_s)
|
98
|
+
rescue Errno::EACCES
|
99
|
+
@error_count += 1
|
100
|
+
rescue StandardError => exc
|
101
|
+
puts exc
|
79
102
|
@error_count += 1
|
80
103
|
end
|
81
104
|
end
|
@@ -88,6 +111,7 @@ module Loggerx
|
|
88
111
|
end
|
89
112
|
|
90
113
|
def register_log_level(level)
|
114
|
+
puts "============ Loggerxcm.register_log_level level=#{level} ==========="
|
91
115
|
@log_file&.level = level
|
92
116
|
@log_stdout&.level = level
|
93
117
|
#
|
@@ -98,12 +122,12 @@ module Loggerx
|
|
98
122
|
def to_string(value)
|
99
123
|
if value.instance_of?(Array)
|
100
124
|
@stdout_backup ||= $stdout
|
101
|
-
@stringio ||= StringIO.new(+
|
125
|
+
@stringio ||= StringIO.new(+"", 'w+')
|
102
126
|
$stdout = @stringio
|
103
|
-
$stdout = @stdout_backup
|
104
127
|
@stringio.rewind
|
105
128
|
str = @stringio.read
|
106
129
|
@stringio.truncate(0)
|
130
|
+
$stdout = @stdout_backup
|
107
131
|
str
|
108
132
|
else
|
109
133
|
value
|
@@ -111,17 +135,27 @@ module Loggerx
|
|
111
135
|
end
|
112
136
|
|
113
137
|
def show(value)
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
138
|
+
if @valid
|
139
|
+
if value.instance_of?(Array)
|
140
|
+
value.map do |v|
|
141
|
+
str = v.to_s
|
142
|
+
Util.puts_valid_str(str)
|
143
|
+
end
|
144
|
+
else
|
145
|
+
Util.puts_valid_str(str)
|
146
|
+
end
|
147
|
+
str = error_sub(value)
|
148
|
+
Util.puts_valid_str(str)
|
149
|
+
end
|
118
150
|
true
|
119
151
|
end
|
120
152
|
|
121
153
|
def error_sub(value)
|
122
154
|
str = to_string(value)
|
123
|
-
@
|
124
|
-
|
155
|
+
if @valid
|
156
|
+
@log_file&.error(str)
|
157
|
+
@log_stdout&.error(str)
|
158
|
+
end
|
125
159
|
str
|
126
160
|
end
|
127
161
|
|
@@ -132,34 +166,49 @@ module Loggerx
|
|
132
166
|
|
133
167
|
def debug(value)
|
134
168
|
str = to_string(value)
|
135
|
-
@
|
136
|
-
|
169
|
+
if @valid
|
170
|
+
@log_file&.debug(str)
|
171
|
+
@log_stdout&.debug(str)
|
172
|
+
end
|
173
|
+
|
137
174
|
true
|
138
175
|
end
|
139
176
|
|
140
177
|
def info(value)
|
141
178
|
str = to_string(value)
|
142
|
-
@
|
143
|
-
|
179
|
+
if @valid
|
180
|
+
@log_file&.info(str)
|
181
|
+
@log_stdout&.info(str)
|
182
|
+
end
|
144
183
|
true
|
145
184
|
end
|
146
185
|
|
147
186
|
def warn(value)
|
148
187
|
str = to_string(value)
|
149
|
-
@
|
150
|
-
|
188
|
+
if @valid
|
189
|
+
@log_file&.warn(str)
|
190
|
+
@log_stdout&.warn(str)
|
191
|
+
end
|
151
192
|
true
|
152
193
|
end
|
153
194
|
|
154
195
|
def fatal(value)
|
155
196
|
str = to_string(value)
|
156
|
-
@
|
157
|
-
|
197
|
+
if @valid
|
198
|
+
@log_file&.fatal(str)
|
199
|
+
@log_stdout&.fatal(str)
|
200
|
+
end
|
158
201
|
true
|
159
202
|
end
|
160
203
|
|
161
204
|
def close
|
205
|
+
retrun unless @valid
|
206
|
+
|
162
207
|
@log_file&.close
|
208
|
+
@log_file = nil
|
209
|
+
@log_stdout = nil
|
210
|
+
|
211
|
+
@valid = false
|
163
212
|
# @log_stdout&.close
|
164
213
|
end
|
165
214
|
end
|
data/lib/loggerx/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: loggerx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ykominami
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Utility class for Logging.
|
14
14
|
email:
|
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: '0'
|
57
57
|
requirements: []
|
58
|
-
rubygems_version: 3.5.
|
58
|
+
rubygems_version: 3.5.11
|
59
59
|
signing_key:
|
60
60
|
specification_version: 4
|
61
61
|
summary: Utility class for Logging.
|