outland-tag_runes 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/outland/tag_runes/rotational_logs.rb +63 -0
- data/lib/outland/tag_runes/version.rb +1 -1
- data/lib/outland/tag_runes.rb +1 -2
- metadata +3 -4
- data/lib/outland/tag_runes/custom_log_renamer.rb +0 -21
- data/lib/outland/tag_runes/rotational_logger.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 482c914249f74c3904e253aa9ca61b6e93f41280
|
4
|
+
data.tar.gz: 9c8d5ee467fc04d8fdd03981ca7c2ea80304c763
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cf599184e10e5f45a1289c7837d6863f12c0d969dce15285683bd4d33c91309703301daf9ca747520858793456d052f76becef17b255b075f30b4a90a0678fa
|
7
|
+
data.tar.gz: ceb4386d94be3d16c05dd7ee7cc8e20873a877e61c8947985bb0da6e6b8f6e8c432265dc7fb9ed9ad45c792fa4295788e1eb1a2bc4c682ea47b702437afadf28
|
data/CHANGELOG.md
CHANGED
@@ -0,0 +1,63 @@
|
|
1
|
+
module Outland
|
2
|
+
module TagRunes
|
3
|
+
|
4
|
+
# Not in fact a Logger, but a Logger manager that handles daily log rotation
|
5
|
+
# with a custom naming pattern.
|
6
|
+
|
7
|
+
class RotationalLogs
|
8
|
+
|
9
|
+
def initialize(opts={})
|
10
|
+
@base = opts[:base] || 'rails'
|
11
|
+
end
|
12
|
+
|
13
|
+
def customize_rename(logger)
|
14
|
+
# use singleton methods to pull out the internal LogDevice and then
|
15
|
+
# override its shift_log_period method, which does the daily renaming
|
16
|
+
# in a multi-process aware fashion (should be called only once per day per log).
|
17
|
+
|
18
|
+
class <<logger
|
19
|
+
attr_reader :logdev
|
20
|
+
end
|
21
|
+
|
22
|
+
logdev = logger.logdev
|
23
|
+
|
24
|
+
# Testing rotation
|
25
|
+
# class <<logdev
|
26
|
+
# attr_writer :next_rotate_time
|
27
|
+
# end
|
28
|
+
# logdev.next_rotate_time = Time.now + 10
|
29
|
+
|
30
|
+
class <<logdev
|
31
|
+
|
32
|
+
def shift_log_period(period_end)
|
33
|
+
super
|
34
|
+
log_dir = File.dirname(@filename)
|
35
|
+
return true unless File.directory?("#{log_dir}/rot") # standard behavior unless rot dir exists
|
36
|
+
Dir.glob("#{@filename}.*").each do |fn|
|
37
|
+
base = File.basename(fn).gsub(/\.log\.(\d\d\d\d)(\d\d)(\d\d)$/, '-\1-\2-\3.log')
|
38
|
+
File.rename fn, "#{log_dir}/rot/#{base}"
|
39
|
+
end
|
40
|
+
true
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
def set(config)
|
48
|
+
# Follows the pattern from the Rails generator for RAILS_LOG_TO_STDOUT
|
49
|
+
if Rails.env.development? || Rails.env.test?
|
50
|
+
logger = ActiveSupport::Logger.new(STDOUT)
|
51
|
+
else
|
52
|
+
logger = ActiveSupport::Logger.new("#{Rails.root}/log/#{@base}.log", 'daily')
|
53
|
+
customize_rename(logger)
|
54
|
+
end
|
55
|
+
logger.formatter = config.log_formatter
|
56
|
+
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
end
|
63
|
+
end
|
data/lib/outland/tag_runes.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: outland-tag_runes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bill Lipa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -68,8 +68,7 @@ files:
|
|
68
68
|
- bin/console
|
69
69
|
- bin/setup
|
70
70
|
- lib/outland/tag_runes.rb
|
71
|
-
- lib/outland/tag_runes/
|
72
|
-
- lib/outland/tag_runes/rotational_logger.rb
|
71
|
+
- lib/outland/tag_runes/rotational_logs.rb
|
73
72
|
- lib/outland/tag_runes/version.rb
|
74
73
|
- outland-tag_runes.gemspec
|
75
74
|
homepage: https://github.com/outland/tag_runes
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class Logger
|
2
|
-
class LogDevice
|
3
|
-
|
4
|
-
private
|
5
|
-
|
6
|
-
alias_method :orig_shift_log_period, :shift_log_period
|
7
|
-
|
8
|
-
# Override the shift method to allow us to control the file name.
|
9
|
-
def shift_log_period(period_end)
|
10
|
-
orig_shift_log_period(period_end)
|
11
|
-
log_dir = File.dirname(@filename)
|
12
|
-
return true unless File.directory?("#{log_dir}/rot") # standard behavior unless rot dir exists
|
13
|
-
Dir.glob("#{@filename}.*").each do |fn|
|
14
|
-
base = File.basename(fn).gsub(/\.log\.(\d\d\d\d)(\d\d)(\d\d)$/, '-\1-\2-\3.log')
|
15
|
-
File.rename fn, "#{log_dir}/rot/#{base}"
|
16
|
-
end
|
17
|
-
true
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Outland
|
2
|
-
module TagRunes
|
3
|
-
|
4
|
-
|
5
|
-
class RotationalLogger
|
6
|
-
|
7
|
-
def self.set(config)
|
8
|
-
logger = if Rails.env.development? || Rails.env.test?
|
9
|
-
ActiveSupport::Logger.new(STDOUT)
|
10
|
-
else
|
11
|
-
ActiveSupport::Logger.new("#{Rails.root}/log/rails.log", 'daily')
|
12
|
-
end
|
13
|
-
logger.formatter = config.log_formatter
|
14
|
-
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|