loggerx 0.2.0 → 0.3.1
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/.rubocop.yml +73 -22
- data/Rakefile +2 -2
- data/SECURITY.md +21 -0
- data/lib/loggerx/loggerx.code-workspace +8 -0
- data/lib/loggerx/loggerx.rb +56 -43
- data/lib/loggerx/loggerxcm.rb +8 -8
- data/lib/loggerx/version.rb +1 -1
- data/lib/loggerx.rb +3 -3
- metadata +9 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3fd826254376e64dc953e21e9ba92bc7ae0fc1a9f53c293b19ed093616acce29
|
4
|
+
data.tar.gz: 81d5fcb3dc14a34df39d491a88604a163041548baffa1f9d829645d8f2f95f95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9af8636e84e6469b63737a4b884406a3288b94d1ed60538f170272ac558515cd867d1f05317ad4d720dd1a3b41d2f88d2534cf3c3ebc731c55d70f2ceee0886
|
7
|
+
data.tar.gz: c5f6b9998cde8d0cc122786b20a7287120e07a215ac3182c24e116efb04cad518018ee4b0fc49db50bd8253e6f20d9b5bbaef88175022fd04588fadc89991889
|
data/.rubocop.yml
CHANGED
@@ -8,29 +8,80 @@ AllCops:
|
|
8
8
|
NewCops: enable
|
9
9
|
TargetRubyVersion: 3.1
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
DisplayCopNames: true
|
12
|
+
StyleGuideBaseURL: https://github.com/fortissimo1997/ruby-style-guide/blob/japanese/README.ja.md
|
13
|
+
# 結果のsuggest部分を非表示にする
|
14
|
+
SuggestExtensions: false
|
15
|
+
# rubocopの対象外ファイル
|
16
|
+
Exclude:
|
17
|
+
- "Gemfile"
|
18
|
+
- "bin/**/*"
|
19
|
+
- "db/**/*"
|
20
|
+
- "log/**/*"
|
21
|
+
- "tmp/**/*"
|
22
|
+
- "vendor/**/*"
|
23
|
+
- "lib/tasks/auto_annotate_models.rake"
|
24
|
+
- "config/environments/*"
|
25
|
+
- "config/puma.rb"
|
26
|
+
- "root/**/*"
|
27
|
+
- "test_data/**/*"
|
28
|
+
- "test_data_y/**/*"
|
29
|
+
- "test_other/**/*"
|
30
|
+
- "test_output/**/*"
|
31
|
+
- "tmp/**/*"
|
32
|
+
- "pkg/**/*"
|
33
|
+
- "docs/**/*"
|
14
34
|
|
15
|
-
Style/StringLiteralsInInterpolation:
|
16
|
-
Enabled: true
|
17
|
-
EnforcedStyle: double_quotes
|
18
35
|
|
19
|
-
Layout
|
20
|
-
|
36
|
+
Layout:
|
37
|
+
# メソッド名をcamelCase に設定します
|
38
|
+
MethodName:
|
39
|
+
# EnforcedStyle: camelCase
|
40
|
+
EnforcedStyle: snake_case
|
41
|
+
# 一行に 120 文字まで書いても OK とする
|
42
|
+
LineLength:
|
43
|
+
Max: 120
|
21
44
|
|
45
|
+
Style:
|
46
|
+
StringLiterals:
|
47
|
+
Enabled: true
|
48
|
+
EnforcedStyle: double_quotes
|
49
|
+
|
50
|
+
StringLiteralsInInterpolation:
|
51
|
+
Enabled: true
|
52
|
+
EnforcedStyle: double_quotes
|
22
53
|
#追加
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
54
|
+
rozenStringLiteralComment:
|
55
|
+
Enabled: false
|
56
|
+
ClassAndModuleChildren:
|
57
|
+
Enabled: false
|
58
|
+
GuardClause:
|
59
|
+
Enabled: false
|
60
|
+
IfUnlessModifier:
|
61
|
+
Enabled: false
|
62
|
+
# 日本語のコメントを OK とする
|
63
|
+
AsciiComments:
|
64
|
+
Enabled: false
|
65
|
+
BlockComments:
|
66
|
+
Enabled: false
|
67
|
+
|
68
|
+
# class documentation commentのアラートを出さない
|
69
|
+
Documentation:
|
70
|
+
Enabled: false
|
71
|
+
IfWithBooleanLiteralBranches:
|
72
|
+
Enabled: false
|
73
|
+
|
74
|
+
Naming:
|
75
|
+
RescuedExceptionsVariableName:
|
76
|
+
PreferredName: exc
|
77
|
+
|
78
|
+
Lint:
|
79
|
+
DuplicateRegexpCharacterClassElement:
|
80
|
+
Enabled: false
|
81
|
+
|
82
|
+
|
83
|
+
Metrics:
|
84
|
+
ClassLength:
|
85
|
+
# Enabled: false
|
86
|
+
Max: 440 # クラスの最大行数をここで設定
|
87
|
+
|
data/Rakefile
CHANGED
data/SECURITY.md
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Security Policy
|
2
|
+
|
3
|
+
## Supported Versions
|
4
|
+
|
5
|
+
Use this section to tell people about which versions of your project are
|
6
|
+
currently being supported with security updates.
|
7
|
+
|
8
|
+
| Version | Supported |
|
9
|
+
| ------- | ------------------ |
|
10
|
+
| 5.1.x | :white_check_mark: |
|
11
|
+
| 5.0.x | :x: |
|
12
|
+
| 4.0.x | :white_check_mark: |
|
13
|
+
| < 4.0 | :x: |
|
14
|
+
|
15
|
+
## Reporting a Vulnerability
|
16
|
+
|
17
|
+
Use this section to tell people how to report a vulnerability.
|
18
|
+
|
19
|
+
Tell them where to go, how often they can expect to get an update on a
|
20
|
+
reported vulnerability, what to expect if the vulnerability is accepted or
|
21
|
+
declined, etc.
|
data/lib/loggerx/loggerx.rb
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
module Loggerx
|
4
4
|
class Loggerx
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
5
|
+
require 'logger'
|
6
|
+
require 'fileutils'
|
7
|
+
require 'stringio'
|
8
8
|
|
9
9
|
LOG_FILENAME_BASE = "#{Time.now.strftime("%Y%m%d-%H%M%S")}.log".freeze
|
10
10
|
@log_file = nil
|
11
11
|
@log_stdout = nil
|
12
12
|
@stdout_backup = $stdout
|
13
|
-
@stringio = StringIO.new(+
|
13
|
+
@stringio = StringIO.new(+'', 'w+')
|
14
14
|
|
15
15
|
attr_reader :error_count
|
16
16
|
|
@@ -38,12 +38,19 @@ module Loggerx
|
|
38
38
|
fname = nil if fname == false
|
39
39
|
fname = prefix + LOG_FILENAME_BASE if fname == :default
|
40
40
|
@log_file = setup_logger_file(log_dir, fname) if fname
|
41
|
+
# register_log_format(obj)
|
42
|
+
# register_log_level(level_hs[level])
|
43
|
+
level_hs[level]
|
44
|
+
end
|
41
45
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
46
|
+
def formatter
|
47
|
+
@log_file&.formatter
|
48
|
+
# @log_stdout&.formatter
|
49
|
+
end
|
50
|
+
|
51
|
+
def formatter=(obj)
|
52
|
+
@log_file&.formatter = obj
|
53
|
+
@log_stdout&.formatter = obj
|
47
54
|
end
|
48
55
|
|
49
56
|
def logger_stdout
|
@@ -60,30 +67,37 @@ module Loggerx
|
|
60
67
|
return log_stdout unless log_stdout.nil?
|
61
68
|
|
62
69
|
begin
|
63
|
-
|
64
|
-
log_stdout = Logger.new($stdout)
|
70
|
+
log ||= ActiveSupport::TaggedLogging.new($stdout)
|
65
71
|
rescue StandardError
|
66
72
|
@error_stderror_count += 1
|
67
73
|
end
|
68
|
-
|
74
|
+
log
|
69
75
|
end
|
70
76
|
|
71
77
|
def setup_logger_file(log_dir, fname)
|
72
78
|
filepath = Pathname.new(log_dir).join(fname)
|
73
|
-
log_file = nil
|
74
79
|
begin
|
75
|
-
|
80
|
+
log ||= ActiveSupport::TaggedLogging.new(filepath)
|
76
81
|
rescue Errno::EACCES
|
77
82
|
@error_access_count += 1
|
78
83
|
rescue StandardError
|
79
84
|
@error_stderror_count += 1
|
80
85
|
end
|
81
|
-
|
86
|
+
log
|
82
87
|
end
|
83
88
|
|
84
|
-
def
|
85
|
-
@log_file&.
|
86
|
-
@log_stdout&.
|
89
|
+
def level
|
90
|
+
@log_file&.level
|
91
|
+
# @log_stdout&.level
|
92
|
+
# Log4r互換インターフェイス
|
93
|
+
# DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
|
94
|
+
end
|
95
|
+
|
96
|
+
def level=(value)
|
97
|
+
@log_file&.level = value
|
98
|
+
@log_stdout&.level = value
|
99
|
+
# Log4r互換インターフェイス
|
100
|
+
# DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN
|
87
101
|
end
|
88
102
|
|
89
103
|
def register_log_level(level)
|
@@ -96,7 +110,7 @@ module Loggerx
|
|
96
110
|
def to_string(value)
|
97
111
|
if value.instance_of?(Array)
|
98
112
|
@stdout_backup ||= $stdout
|
99
|
-
@stringio ||= StringIO.new(+
|
113
|
+
@stringio ||= StringIO.new(+'', 'w+')
|
100
114
|
$stdout = @stringio
|
101
115
|
$stdout = @stdout_backup
|
102
116
|
@stringio.rewind
|
@@ -130,7 +144,6 @@ module Loggerx
|
|
130
144
|
|
131
145
|
def debug(value)
|
132
146
|
str = to_string(value)
|
133
|
-
# p str
|
134
147
|
@log_file&.debug(str)
|
135
148
|
@log_stdout&.debug(str)
|
136
149
|
true
|
@@ -168,39 +181,39 @@ module Loggerx
|
|
168
181
|
end
|
169
182
|
|
170
183
|
def hash_to_args(hash)
|
171
|
-
prefix = hash[
|
172
|
-
log_dir_pn = Pathname.new(hash[
|
184
|
+
prefix = hash['prefix']
|
185
|
+
log_dir_pn = Pathname.new(hash['log_dir'])
|
173
186
|
|
174
|
-
stdout_flag_str = hash[
|
187
|
+
stdout_flag_str = hash['stdout_flag']
|
175
188
|
stdout_flag = if stdout_flag_str.instance_of?(String)
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
fname_str = hash[
|
189
|
+
case stdout_flag_str
|
190
|
+
when 'true'
|
191
|
+
true
|
192
|
+
else
|
193
|
+
false
|
194
|
+
end
|
195
|
+
else
|
196
|
+
stdout_flag_str
|
197
|
+
end
|
198
|
+
|
199
|
+
fname_str = hash['fname']
|
187
200
|
fname = case fname_str
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
201
|
+
when 'default'
|
202
|
+
fname_str.to_sym
|
203
|
+
when 'false'
|
204
|
+
false
|
205
|
+
else
|
206
|
+
fname_str
|
207
|
+
end
|
195
208
|
|
196
|
-
level = hash[
|
209
|
+
level = hash['level'].to_sym
|
197
210
|
|
198
211
|
[prefix, fname, log_dir_pn, stdout_flag, level]
|
199
212
|
end
|
200
213
|
|
201
214
|
def create_by_hash(hash)
|
202
215
|
prefix, fname, log_dir_pn, stdout_flag, level = hash_to_args(hash)
|
203
|
-
new(prefix, fname, log_dir_pn, stdout_flag, level)
|
216
|
+
Loggerx.new(prefix, fname, log_dir_pn, stdout_flag, level)
|
204
217
|
end
|
205
218
|
|
206
219
|
def init_by_hash(hash)
|
data/lib/loggerx/loggerxcm.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require 'pathname'
|
4
4
|
|
5
5
|
module Loggerx
|
6
6
|
class Loggerxcm0
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
7
|
+
require 'logger'
|
8
|
+
require 'fileutils'
|
9
|
+
require 'stringio'
|
10
10
|
|
11
11
|
LOG_FILENAME_BASE = "#{Time.now.strftime("%Y%m%d-%H%M%S")}.log".freeze
|
12
12
|
@log_file = nil
|
13
13
|
@log_stdout = nil
|
14
14
|
@stdout_backup = $stdout
|
15
|
-
@stringio = StringIO.new(+
|
15
|
+
@stringio = StringIO.new(+'', 'w+')
|
16
16
|
# @limit_of_num_of_files ||= 3
|
17
17
|
|
18
18
|
class << self
|
@@ -73,8 +73,8 @@ module Loggerx
|
|
73
73
|
if log_file.nil?
|
74
74
|
begin
|
75
75
|
log_file = Logger.new(filepath)
|
76
|
-
rescue Errno::EACCES
|
77
|
-
|
76
|
+
# rescue Errno::EACCES
|
77
|
+
# @error_count += 1
|
78
78
|
rescue StandardError
|
79
79
|
@error_count += 1
|
80
80
|
end
|
@@ -98,7 +98,7 @@ module Loggerx
|
|
98
98
|
def to_string(value)
|
99
99
|
if value.instance_of?(Array)
|
100
100
|
@stdout_backup ||= $stdout
|
101
|
-
@stringio ||= StringIO.new(+
|
101
|
+
@stringio ||= StringIO.new(+'', 'w+')
|
102
102
|
$stdout = @stringio
|
103
103
|
$stdout = @stdout_backup
|
104
104
|
@stringio.rewind
|
data/lib/loggerx/version.rb
CHANGED
data/lib/loggerx.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
3
|
+
require_relative 'loggerx/version'
|
4
|
+
require_relative 'loggerx/loggerx'
|
5
|
+
require_relative 'loggerx/loggerxcm'
|
6
6
|
|
7
7
|
module Loggerx
|
8
8
|
class Error < StandardError; end
|
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.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ykominami
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Utility class for Logging.
|
14
14
|
email:
|
@@ -25,20 +25,22 @@ files:
|
|
25
25
|
- LICENSE.txt
|
26
26
|
- README.md
|
27
27
|
- Rakefile
|
28
|
+
- SECURITY.md
|
28
29
|
- lib/loggerx.rb
|
30
|
+
- lib/loggerx/loggerx.code-workspace
|
29
31
|
- lib/loggerx/loggerx.rb
|
30
32
|
- lib/loggerx/loggerxcm.rb
|
31
33
|
- lib/loggerx/version.rb
|
32
34
|
- loggerx.code-workspace
|
33
35
|
- sig/loggerx.rbs
|
34
|
-
homepage:
|
36
|
+
homepage:
|
35
37
|
licenses:
|
36
38
|
- MIT
|
37
39
|
metadata:
|
38
40
|
source_code_uri: https://github.com/ykominami/loggerx
|
39
41
|
changelog_uri: https://github.com/ykominami/loggerx/blob/main/CHANGELOG.md
|
40
42
|
rubygems_mfa_required: 'true'
|
41
|
-
post_install_message:
|
43
|
+
post_install_message:
|
42
44
|
rdoc_options: []
|
43
45
|
require_paths:
|
44
46
|
- lib
|
@@ -53,8 +55,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
55
|
- !ruby/object:Gem::Version
|
54
56
|
version: '0'
|
55
57
|
requirements: []
|
56
|
-
rubygems_version: 3.
|
57
|
-
signing_key:
|
58
|
+
rubygems_version: 3.5.14
|
59
|
+
signing_key:
|
58
60
|
specification_version: 4
|
59
61
|
summary: Utility class for Logging.
|
60
62
|
test_files: []
|