log4rails 1.1.11
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 +7 -0
- data/LICENSE.bsd +12 -0
- data/README.md +37 -0
- data/lib/log4r/GDC.rb +41 -0
- data/lib/log4r/MDC.rb +59 -0
- data/lib/log4r/NDC.rb +86 -0
- data/lib/log4r/base.rb +74 -0
- data/lib/log4r/config.rb +9 -0
- data/lib/log4r/configurator.rb +224 -0
- data/lib/log4r/formatter/formatter.rb +105 -0
- data/lib/log4r/formatter/log4jxmlformatter.rb +65 -0
- data/lib/log4r/formatter/patternformatter.rb +145 -0
- data/lib/log4r/lib/drbloader.rb +52 -0
- data/lib/log4r/lib/xmlloader.rb +24 -0
- data/lib/log4r/log4r-rails.yaml +60 -0
- data/lib/log4r/logevent.rb +28 -0
- data/lib/log4r/logger.rb +206 -0
- data/lib/log4r/loggerfactory.rb +89 -0
- data/lib/log4r/logserver.rb +28 -0
- data/lib/log4r/outputter/bufferedsyslogoutputter.rb +47 -0
- data/lib/log4r/outputter/consoleoutputters.rb +18 -0
- data/lib/log4r/outputter/datefileoutputter.rb +117 -0
- data/lib/log4r/outputter/emailoutputter.rb +143 -0
- data/lib/log4r/outputter/fileoutputter.rb +57 -0
- data/lib/log4r/outputter/iooutputter.rb +55 -0
- data/lib/log4r/outputter/outputter.rb +134 -0
- data/lib/log4r/outputter/outputterfactory.rb +60 -0
- data/lib/log4r/outputter/remoteoutputter.rb +40 -0
- data/lib/log4r/outputter/rollingfileoutputter.rb +234 -0
- data/lib/log4r/outputter/scribeoutputter.rb +37 -0
- data/lib/log4r/outputter/staticoutputter.rb +30 -0
- data/lib/log4r/outputter/syslogoutputter.rb +126 -0
- data/lib/log4r/outputter/udpoutputter.rb +53 -0
- data/lib/log4r/railtie.rb +211 -0
- data/lib/log4r/rdoc/GDC +14 -0
- data/lib/log4r/rdoc/MDC +16 -0
- data/lib/log4r/rdoc/NDC +41 -0
- data/lib/log4r/rdoc/configurator +243 -0
- data/lib/log4r/rdoc/emailoutputter +103 -0
- data/lib/log4r/rdoc/formatter +39 -0
- data/lib/log4r/rdoc/log4jxmlformatter +21 -0
- data/lib/log4r/rdoc/log4r +89 -0
- data/lib/log4r/rdoc/logger +175 -0
- data/lib/log4r/rdoc/logserver +85 -0
- data/lib/log4r/rdoc/outputter +108 -0
- data/lib/log4r/rdoc/patternformatter +128 -0
- data/lib/log4r/rdoc/scribeoutputter +16 -0
- data/lib/log4r/rdoc/syslogoutputter +29 -0
- data/lib/log4r/rdoc/win32eventoutputter +7 -0
- data/lib/log4r/rdoc/yamlconfigurator +20 -0
- data/lib/log4r/repository.rb +88 -0
- data/lib/log4r/staticlogger.rb +49 -0
- data/lib/log4r/version.rb +4 -0
- data/lib/log4r/yamlconfigurator.rb +198 -0
- data/lib/log4rails.rb +22 -0
- metadata +97 -0
@@ -0,0 +1,198 @@
|
|
1
|
+
# :include: rdoc/yamlconfigurator
|
2
|
+
#
|
3
|
+
# == Other Info
|
4
|
+
#
|
5
|
+
# Version: $Id$
|
6
|
+
|
7
|
+
require "log4r/logger"
|
8
|
+
require "log4r/outputter/staticoutputter"
|
9
|
+
require "log4r/logserver"
|
10
|
+
require "log4r/outputter/remoteoutputter"
|
11
|
+
|
12
|
+
require 'yaml'
|
13
|
+
|
14
|
+
module Log4r
|
15
|
+
# Gets raised when Configurator encounters bad YAML.
|
16
|
+
class ConfigError < Exception
|
17
|
+
end
|
18
|
+
|
19
|
+
# See log4r/yamlconfigurator.rb
|
20
|
+
class YamlConfigurator
|
21
|
+
@@params = Hash.new
|
22
|
+
|
23
|
+
# Get a parameter's value
|
24
|
+
def self.[](param); @@params[param] end
|
25
|
+
# Define a parameter with a value
|
26
|
+
def self.[]=(param, value); @@params[param] = value end
|
27
|
+
|
28
|
+
|
29
|
+
def self.custom_levels( levels)
|
30
|
+
return Logger.root if levels.size == 0
|
31
|
+
for i in 0...levels.size
|
32
|
+
name = levels[i].to_s
|
33
|
+
if name =~ /\s/ or name !~ /^[A-Z]/
|
34
|
+
raise TypeError, "#{name} is not a valid Ruby Constant name", caller
|
35
|
+
end
|
36
|
+
end
|
37
|
+
Log4r.define_levels *levels
|
38
|
+
end
|
39
|
+
|
40
|
+
# Given a filename, loads the YAML configuration for Log4r.
|
41
|
+
def self.load_yaml_file( filename)
|
42
|
+
actual_load( File.open( filename))
|
43
|
+
end
|
44
|
+
|
45
|
+
# You can load a String YAML configuration instead of a file.
|
46
|
+
def self.load_yaml_string( string)
|
47
|
+
actual_load( string)
|
48
|
+
end
|
49
|
+
|
50
|
+
#######
|
51
|
+
private
|
52
|
+
#######
|
53
|
+
|
54
|
+
def self.actual_load( yaml_docs)
|
55
|
+
log4r_config = nil
|
56
|
+
YAML.load_documents( yaml_docs){ |doc|
|
57
|
+
doc.has_key?( 'log4r_config') and log4r_config = doc['log4r_config'] and break
|
58
|
+
}
|
59
|
+
if log4r_config.nil?
|
60
|
+
raise ConfigError,
|
61
|
+
"Key 'log4r_config:' not defined in yaml documents", caller[1..-1]
|
62
|
+
end
|
63
|
+
decode_yaml( log4r_config)
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.decode_yaml( cfg)
|
67
|
+
decode_pre_config( cfg['pre_config'])
|
68
|
+
cfg['outputters'].each{ |op| decode_outputter( op)}
|
69
|
+
cfg['loggers'].each{ |lo| decode_logger( lo)}
|
70
|
+
cfg['logserver'].each{ |lo| decode_logserver( lo)} unless cfg['logserver'].nil?
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.decode_pre_config( pre)
|
74
|
+
return Logger.root if pre.nil?
|
75
|
+
decode_custom_levels( pre['custom_levels'])
|
76
|
+
global_config( pre['global'])
|
77
|
+
global_config( pre['root'])
|
78
|
+
decode_parameters( pre['parameters'])
|
79
|
+
end
|
80
|
+
|
81
|
+
def self.decode_custom_levels( levels)
|
82
|
+
return Logger.root if levels.nil?
|
83
|
+
begin custom_levels( levels)
|
84
|
+
rescue TypeError => te
|
85
|
+
raise ConfigError, te.message, caller[1..-4]
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def self.global_config( e)
|
90
|
+
return if e.nil?
|
91
|
+
globlev = e['level']
|
92
|
+
return if globlev.nil?
|
93
|
+
lev = LNAMES.index(globlev) # find value in LNAMES
|
94
|
+
Log4rTools.validate_level(lev, 4) # choke on bad level
|
95
|
+
Logger.global.level = lev
|
96
|
+
end
|
97
|
+
|
98
|
+
def self.decode_parameters( params)
|
99
|
+
params.each{ |p| @@params[p['name']] = p['value']} unless params.nil?
|
100
|
+
end
|
101
|
+
|
102
|
+
def self.decode_outputter( op)
|
103
|
+
# fields
|
104
|
+
name = op['name']
|
105
|
+
type = op['type']
|
106
|
+
level = op['level']
|
107
|
+
only_at = op['only_at']
|
108
|
+
# validation
|
109
|
+
raise ConfigError, "Outputter missing name", caller[1..-3] if name.nil?
|
110
|
+
raise ConfigError, "Outputter missing type", caller[1..-3] if type.nil?
|
111
|
+
Log4rTools.validate_level(LNAMES.index(level)) unless level.nil?
|
112
|
+
only_levels = []
|
113
|
+
unless only_at.nil?
|
114
|
+
for lev in only_at
|
115
|
+
alev = LNAMES.index(lev)
|
116
|
+
Log4rTools.validate_level(alev, 3)
|
117
|
+
only_levels.push alev
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
formatter = decode_formatter( op['formatter'])
|
122
|
+
|
123
|
+
opts = {}
|
124
|
+
opts[:level] = LNAMES.index(level) unless level.nil?
|
125
|
+
opts[:formatter] = formatter unless formatter.nil?
|
126
|
+
opts.merge!(decode_hash_params(op))
|
127
|
+
begin
|
128
|
+
Outputter[name] = Log4r.const_get(type).new name, opts
|
129
|
+
rescue Exception => ae
|
130
|
+
raise ConfigError,
|
131
|
+
"Problem creating outputter: #{ae.message}", caller[1..-3]
|
132
|
+
end
|
133
|
+
Outputter[name].only_at( *only_levels) if only_levels.size > 0
|
134
|
+
Outputter[name]
|
135
|
+
end
|
136
|
+
|
137
|
+
def self.decode_formatter( fo)
|
138
|
+
return nil if fo.nil?
|
139
|
+
type = fo['type']
|
140
|
+
raise ConfigError, "Formatter missing type", caller[1..-4] if type.nil?
|
141
|
+
begin
|
142
|
+
return Log4r.const_get(type).new(decode_hash_params(fo))
|
143
|
+
rescue Exception => ae
|
144
|
+
raise ConfigError,
|
145
|
+
"Problem creating outputter: #{ae.message}", caller[1..-4]
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
ExcludeParams = %w{formatter level name type only_at}
|
150
|
+
|
151
|
+
# Does the fancy parameter to hash argument transformation
|
152
|
+
def self.decode_hash_params(ph)
|
153
|
+
case ph
|
154
|
+
when Hash
|
155
|
+
ph.inject({}){|a,(k,v)| a[k] = self.decode_hash_params(v); a}
|
156
|
+
when Array
|
157
|
+
ph.map{|v| self.decode_hash_params(v)}
|
158
|
+
when String
|
159
|
+
self.paramsub(ph)
|
160
|
+
else
|
161
|
+
ph
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
# Substitues any #{foo} in the YAML with Parameter['foo']
|
166
|
+
def self.paramsub(str)
|
167
|
+
@@params.each {|param, value|
|
168
|
+
str = str.sub("\#{#{param}}", value)
|
169
|
+
}
|
170
|
+
str
|
171
|
+
end
|
172
|
+
|
173
|
+
def self.decode_logger( lo)
|
174
|
+
l = Logger.new lo['name']
|
175
|
+
decode_logger_common( l, lo)
|
176
|
+
end
|
177
|
+
|
178
|
+
def self.decode_logserver( lo)
|
179
|
+
name = lo['name']
|
180
|
+
uri = lo['uri']
|
181
|
+
l = LogServer.new name, uri
|
182
|
+
decode_logger_common(l, lo)
|
183
|
+
end
|
184
|
+
|
185
|
+
def self.decode_logger_common( l, lo)
|
186
|
+
level = lo['level']
|
187
|
+
additive = lo['additive']
|
188
|
+
trace = lo['trace']
|
189
|
+
l.level = LNAMES.index( level) unless level.nil?
|
190
|
+
l.additive = additive unless additive.nil?
|
191
|
+
l.trace = trace unless trace.nil?
|
192
|
+
# and now for outputters
|
193
|
+
outs = lo['outputters']
|
194
|
+
outs.each {|n| l.add n.strip} unless outs.nil?
|
195
|
+
end
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
data/lib/log4rails.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# :include: log4r/rdoc/log4r
|
2
|
+
#
|
3
|
+
# == Other Info
|
4
|
+
#
|
5
|
+
# Author:: Leon Torres
|
6
|
+
# Version:: $Id$
|
7
|
+
|
8
|
+
require 'log4r/version'
|
9
|
+
require "log4r/outputter/fileoutputter"
|
10
|
+
require "log4r/outputter/consoleoutputters"
|
11
|
+
require "log4r/outputter/staticoutputter"
|
12
|
+
require "log4r/outputter/rollingfileoutputter"
|
13
|
+
require "log4r/formatter/patternformatter"
|
14
|
+
require "log4r/loggerfactory"
|
15
|
+
require "log4r/GDC"
|
16
|
+
require "log4r/NDC"
|
17
|
+
require "log4r/MDC"
|
18
|
+
|
19
|
+
# rails integration
|
20
|
+
if defined?(Rails::Railtie)
|
21
|
+
require 'log4r/railtie'
|
22
|
+
end
|
metadata
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: log4rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.11
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- bestmike007
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-26 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: See http://bestmike007.com/log4rails for more information. Do not use
|
14
|
+
this together with log4r.
|
15
|
+
email: i@bestmike007.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- LICENSE.bsd
|
21
|
+
- README.md
|
22
|
+
- lib/log4r/GDC.rb
|
23
|
+
- lib/log4r/MDC.rb
|
24
|
+
- lib/log4r/NDC.rb
|
25
|
+
- lib/log4r/base.rb
|
26
|
+
- lib/log4r/config.rb
|
27
|
+
- lib/log4r/configurator.rb
|
28
|
+
- lib/log4r/formatter/formatter.rb
|
29
|
+
- lib/log4r/formatter/log4jxmlformatter.rb
|
30
|
+
- lib/log4r/formatter/patternformatter.rb
|
31
|
+
- lib/log4r/lib/drbloader.rb
|
32
|
+
- lib/log4r/lib/xmlloader.rb
|
33
|
+
- lib/log4r/log4r-rails.yaml
|
34
|
+
- lib/log4r/logevent.rb
|
35
|
+
- lib/log4r/logger.rb
|
36
|
+
- lib/log4r/loggerfactory.rb
|
37
|
+
- lib/log4r/logserver.rb
|
38
|
+
- lib/log4r/outputter/bufferedsyslogoutputter.rb
|
39
|
+
- lib/log4r/outputter/consoleoutputters.rb
|
40
|
+
- lib/log4r/outputter/datefileoutputter.rb
|
41
|
+
- lib/log4r/outputter/emailoutputter.rb
|
42
|
+
- lib/log4r/outputter/fileoutputter.rb
|
43
|
+
- lib/log4r/outputter/iooutputter.rb
|
44
|
+
- lib/log4r/outputter/outputter.rb
|
45
|
+
- lib/log4r/outputter/outputterfactory.rb
|
46
|
+
- lib/log4r/outputter/remoteoutputter.rb
|
47
|
+
- lib/log4r/outputter/rollingfileoutputter.rb
|
48
|
+
- lib/log4r/outputter/scribeoutputter.rb
|
49
|
+
- lib/log4r/outputter/staticoutputter.rb
|
50
|
+
- lib/log4r/outputter/syslogoutputter.rb
|
51
|
+
- lib/log4r/outputter/udpoutputter.rb
|
52
|
+
- lib/log4r/railtie.rb
|
53
|
+
- lib/log4r/rdoc/GDC
|
54
|
+
- lib/log4r/rdoc/MDC
|
55
|
+
- lib/log4r/rdoc/NDC
|
56
|
+
- lib/log4r/rdoc/configurator
|
57
|
+
- lib/log4r/rdoc/emailoutputter
|
58
|
+
- lib/log4r/rdoc/formatter
|
59
|
+
- lib/log4r/rdoc/log4jxmlformatter
|
60
|
+
- lib/log4r/rdoc/log4r
|
61
|
+
- lib/log4r/rdoc/logger
|
62
|
+
- lib/log4r/rdoc/logserver
|
63
|
+
- lib/log4r/rdoc/outputter
|
64
|
+
- lib/log4r/rdoc/patternformatter
|
65
|
+
- lib/log4r/rdoc/scribeoutputter
|
66
|
+
- lib/log4r/rdoc/syslogoutputter
|
67
|
+
- lib/log4r/rdoc/win32eventoutputter
|
68
|
+
- lib/log4r/rdoc/yamlconfigurator
|
69
|
+
- lib/log4r/repository.rb
|
70
|
+
- lib/log4r/staticlogger.rb
|
71
|
+
- lib/log4r/version.rb
|
72
|
+
- lib/log4r/yamlconfigurator.rb
|
73
|
+
- lib/log4rails.rb
|
74
|
+
homepage: http://bestmike007.com/log4rails
|
75
|
+
licenses: []
|
76
|
+
metadata: {}
|
77
|
+
post_install_message:
|
78
|
+
rdoc_options: []
|
79
|
+
require_paths:
|
80
|
+
- lib
|
81
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 1.9.0
|
86
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
requirements: []
|
92
|
+
rubyforge_project:
|
93
|
+
rubygems_version: 2.4.2
|
94
|
+
signing_key:
|
95
|
+
specification_version: 4
|
96
|
+
summary: Log4rails, better log4r for rails
|
97
|
+
test_files: []
|