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.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.bsd +12 -0
  3. data/README.md +37 -0
  4. data/lib/log4r/GDC.rb +41 -0
  5. data/lib/log4r/MDC.rb +59 -0
  6. data/lib/log4r/NDC.rb +86 -0
  7. data/lib/log4r/base.rb +74 -0
  8. data/lib/log4r/config.rb +9 -0
  9. data/lib/log4r/configurator.rb +224 -0
  10. data/lib/log4r/formatter/formatter.rb +105 -0
  11. data/lib/log4r/formatter/log4jxmlformatter.rb +65 -0
  12. data/lib/log4r/formatter/patternformatter.rb +145 -0
  13. data/lib/log4r/lib/drbloader.rb +52 -0
  14. data/lib/log4r/lib/xmlloader.rb +24 -0
  15. data/lib/log4r/log4r-rails.yaml +60 -0
  16. data/lib/log4r/logevent.rb +28 -0
  17. data/lib/log4r/logger.rb +206 -0
  18. data/lib/log4r/loggerfactory.rb +89 -0
  19. data/lib/log4r/logserver.rb +28 -0
  20. data/lib/log4r/outputter/bufferedsyslogoutputter.rb +47 -0
  21. data/lib/log4r/outputter/consoleoutputters.rb +18 -0
  22. data/lib/log4r/outputter/datefileoutputter.rb +117 -0
  23. data/lib/log4r/outputter/emailoutputter.rb +143 -0
  24. data/lib/log4r/outputter/fileoutputter.rb +57 -0
  25. data/lib/log4r/outputter/iooutputter.rb +55 -0
  26. data/lib/log4r/outputter/outputter.rb +134 -0
  27. data/lib/log4r/outputter/outputterfactory.rb +60 -0
  28. data/lib/log4r/outputter/remoteoutputter.rb +40 -0
  29. data/lib/log4r/outputter/rollingfileoutputter.rb +234 -0
  30. data/lib/log4r/outputter/scribeoutputter.rb +37 -0
  31. data/lib/log4r/outputter/staticoutputter.rb +30 -0
  32. data/lib/log4r/outputter/syslogoutputter.rb +126 -0
  33. data/lib/log4r/outputter/udpoutputter.rb +53 -0
  34. data/lib/log4r/railtie.rb +211 -0
  35. data/lib/log4r/rdoc/GDC +14 -0
  36. data/lib/log4r/rdoc/MDC +16 -0
  37. data/lib/log4r/rdoc/NDC +41 -0
  38. data/lib/log4r/rdoc/configurator +243 -0
  39. data/lib/log4r/rdoc/emailoutputter +103 -0
  40. data/lib/log4r/rdoc/formatter +39 -0
  41. data/lib/log4r/rdoc/log4jxmlformatter +21 -0
  42. data/lib/log4r/rdoc/log4r +89 -0
  43. data/lib/log4r/rdoc/logger +175 -0
  44. data/lib/log4r/rdoc/logserver +85 -0
  45. data/lib/log4r/rdoc/outputter +108 -0
  46. data/lib/log4r/rdoc/patternformatter +128 -0
  47. data/lib/log4r/rdoc/scribeoutputter +16 -0
  48. data/lib/log4r/rdoc/syslogoutputter +29 -0
  49. data/lib/log4r/rdoc/win32eventoutputter +7 -0
  50. data/lib/log4r/rdoc/yamlconfigurator +20 -0
  51. data/lib/log4r/repository.rb +88 -0
  52. data/lib/log4r/staticlogger.rb +49 -0
  53. data/lib/log4r/version.rb +4 -0
  54. data/lib/log4r/yamlconfigurator.rb +198 -0
  55. data/lib/log4rails.rb +22 -0
  56. metadata +97 -0
@@ -0,0 +1,4 @@
1
+ module Log4r
2
+ Log4rVersion = [1, 1, 11].join '.' # deprecate?
3
+ VERSION = Log4rVersion
4
+ end
@@ -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
+
@@ -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: []