semantic_logger 1.0.1 → 2.0.0

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.
data/README.md CHANGED
@@ -5,6 +5,12 @@ Improved logging for Ruby
5
5
 
6
6
  * http://github.com/ClarityServices/semantic_logger
7
7
 
8
+ ### Note:
9
+
10
+ As of SemanticLogger V2.0 the Rails logging is no longer automatically replaced
11
+ when including SemanticLogger. Include the [rails_semantic_logger](http://github.com/ClarityServices/rails_semantic_logger)
12
+ to replace the Rails default logger with SemanticLogger
13
+
8
14
  ### Overview
9
15
 
10
16
  Semantic Logger takes logging in Ruby to a new level by adding several new
@@ -433,7 +439,7 @@ logger.with_payload(:user => 'Jack', :zip_code => 12345) do
433
439
  end
434
440
  ```
435
441
 
436
- ### Using SemanticLogger outside of Rails
442
+ ### Using SemanticLogger standalone
437
443
 
438
444
  Example:
439
445
 
@@ -456,15 +462,15 @@ logger.info "Hello World"
456
462
  ### Configuration
457
463
 
458
464
  The Semantic Logger follows the principle where multiple appenders can be active
459
- at the same time. This allows one to log to MongoDB and the Rails
460
- ActiveResource::BufferedLogger at the same time.
465
+ at the same time. For example, this allows one to log to MongoDB and the Rails
466
+ log file at the same time.
461
467
 
462
468
  #### Rails Configuration
463
469
 
464
470
  Add the following line to Gemfile
465
471
 
466
472
  ```ruby
467
- gem 'semantic_logger'
473
+ gem 'rails_semantic_logger'
468
474
  ```
469
475
 
470
476
  Also add the following line to Gemfile if you want to log to MongoDB
@@ -753,7 +759,6 @@ See the [MongoDB Appender Test](https://github.com/ClarityServices/semantic_logg
753
759
  ### Dependencies
754
760
 
755
761
  - Ruby MRI 1.8.7, 1.9.3 (or above) Or, JRuby 1.6.3 (or above)
756
- - Optional: Rails 3.0.10 (or above)
757
762
  - Optional: To log to MongoDB, Mongo Ruby Driver 1.5.2 or above
758
763
 
759
764
  ### Install
@@ -766,12 +771,9 @@ To log to MongoDB, it also needs the Ruby Mongo Driver
766
771
 
767
772
  ### Future
768
773
 
769
- - In V1: Move Railtie to it's own gem so that the Rails logger is not replaced
770
- automatically
771
- - In V1: Add support for a configuration file that can set log level by class name
772
- - Configuration file to support setting the log level for a specific class
774
+ - Add support for a configuration file that can set log level by class name
773
775
  - Configuration file to support adding appenders
774
- - Based on demand add appenders for: Syslog, hadoop, redis
776
+ - Based on end-user demand add appenders for: Syslog, hadoop, redis, etc..
775
777
 
776
778
  Development
777
779
  -----------
data/Rakefile CHANGED
@@ -17,8 +17,8 @@ task :gem do |t|
17
17
  spec.email = ['reidmo@gmail.com']
18
18
  spec.homepage = 'https://github.com/ClarityServices/semantic_logger'
19
19
  spec.date = Date.today.to_s
20
- spec.summary = "Semantic Logger for Ruby, and Ruby on Rails"
21
- spec.description = "Machine readable document oriented logging with support for MongoDB and text files"
20
+ spec.summary = "Improved logging for Ruby"
21
+ spec.description = "Semantic Logger takes logging in Ruby to a new level by adding several new capabilities to the commonly used Logging API"
22
22
  spec.files = FileList["./**/*"].exclude(/.gem$/, /.log$/,/^nbproject/).map{|f| f.sub(/^\.\//, '')}
23
23
  spec.has_rdoc = true
24
24
  spec.add_dependency 'sync_attr'
@@ -1,7 +1,5 @@
1
1
  # Place requires here to prevent issues on JRuby with global.require.lock=true
2
2
  require 'thread'
3
- require 'thread_safe'
4
- require 'sync_attr'
5
3
  require 'semantic_logger/version'
6
4
 
7
5
  module SemanticLogger
@@ -19,7 +17,3 @@ module SemanticLogger
19
17
  # Logging levels in order with most detailed logging first
20
18
  LEVELS = [:trace, :debug, :info, :warn, :error, :fatal]
21
19
  end
22
-
23
- if defined?(Rails)
24
- require 'semantic_logger/railtie'
25
- end
@@ -1,3 +1,5 @@
1
+ require 'sync_attr'
2
+
1
3
  # Logger class variable mix-in
2
4
  #
3
5
  # Lazy initialize and a logger class variable with instance accessor
@@ -1,3 +1,5 @@
1
+ require 'thread_safe'
2
+
1
3
  # Logger is the interface used by
2
4
  #
3
5
  # Logger maintains the logging name to be used for all log entries generated
@@ -1,3 +1,3 @@
1
1
  module SemanticLogger #:nodoc
2
- VERSION = "1.0.1"
2
+ VERSION = "2.0.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: semantic_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-10 00:00:00.000000000 Z
12
+ date: 2012-12-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sync_attr
@@ -59,8 +59,8 @@ dependencies:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
- description: Machine readable document oriented logging with support for MongoDB and
63
- text files
62
+ description: Semantic Logger takes logging in Ruby to a new level by adding several
63
+ new capabilities to the commonly used Logging API
64
64
  email:
65
65
  - reidmo@gmail.com
66
66
  executables: []
@@ -76,7 +76,6 @@ files:
76
76
  - lib/semantic_logger/base.rb
77
77
  - lib/semantic_logger/loggable.rb
78
78
  - lib/semantic_logger/logger.rb
79
- - lib/semantic_logger/railtie.rb
80
79
  - lib/semantic_logger/version.rb
81
80
  - lib/semantic_logger.rb
82
81
  - LICENSE.txt
@@ -108,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
108
107
  version: '0'
109
108
  segments:
110
109
  - 0
111
- hash: 3992016517887152124
110
+ hash: -2743860428818841167
112
111
  required_rubygems_version: !ruby/object:Gem::Requirement
113
112
  none: false
114
113
  requirements:
@@ -120,5 +119,5 @@ rubyforge_project:
120
119
  rubygems_version: 1.8.24
121
120
  signing_key:
122
121
  specification_version: 3
123
- summary: Semantic Logger for Ruby, and Ruby on Rails
122
+ summary: Improved logging for Ruby
124
123
  test_files: []
@@ -1,73 +0,0 @@
1
- require 'logger'
2
- module SemanticLogger #:nodoc:
3
- class Railtie < Rails::Railtie #:nodoc:
4
- # Make the SemanticLogger config available in the Rails application config
5
- #
6
- # Example: Add the MongoDB logging appender in the Rails environment
7
- # initializer in file config/environments/development.rb
8
- #
9
- # Claritybase::Application.configure do
10
- # # Add the MongoDB logger appender only once Rails is initialized
11
- # config.after_initialize do
12
- # config.semantic_logger.appenders << SemanticLogger::Appender::Mongo.new(
13
- # :db => Mongo::Connection.new['development_development']
14
- # )
15
- # end
16
- # end
17
- config.semantic_logger = ::SemanticLogger::Logger
18
-
19
- # Initialize SemanticLogger. In a Rails environment it will automatically
20
- # insert itself above the configured rails logger to add support for its
21
- # additional features
22
- #
23
- # Also, if Mongoid is installed it will automatically start logging to Mongoid
24
- #
25
- # Loaded after Rails logging is initialized since SemanticLogger will continue
26
- # to forward logging to the Rails Logger
27
- initializer :initialize_semantic_logger, :before => :initialize_logger do
28
- config = Rails.application.config
29
-
30
- # Set the default log level based on the Rails config
31
- SemanticLogger::Logger.default_level = config.log_level
32
-
33
- # Existing loggers are ignored because servers like trinidad supply their
34
- # own file loggers which would result in duplicate logging to the same log file
35
- Rails.logger = config.logger = begin
36
- # First check for Rails 3.2 path, then fallback to pre-3.2
37
- path = ((config.paths.log.to_a rescue nil) || config.paths['log']).first
38
- unless File.exist? File.dirname path
39
- FileUtils.mkdir_p File.dirname path
40
- end
41
-
42
- # Set internal logger to log to file only, in case another appender
43
- # experiences errors during writes
44
- appender = SemanticLogger::Appender::File.new(path, config.log_level)
45
- appender.name = "SemanticLogger::Logger"
46
- SemanticLogger::Logger.logger = appender
47
-
48
- # Add the log file to the list of appenders
49
- SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new(path)
50
- SemanticLogger::Logger.new(Rails)
51
- rescue StandardError
52
- # If not able to log to file, log to standard error with warning level only
53
- SemanticLogger::Logger.default_level = :warn
54
-
55
- SemanticLogger::Logger.logger = SemanticLogger::Appender::File.new(STDERR)
56
- SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new(STDERR)
57
-
58
- logger = SemanticLogger::Logger.new(Rails)
59
- logger.warn(
60
- "Rails Error: Unable to access log file. Please ensure that #{path} exists and is chmod 0666. " +
61
- "The log level has been raised to WARN and the output directed to STDERR until the problem is fixed."
62
- )
63
- logger
64
- end
65
-
66
- # Replace the default Rails loggers
67
- ActiveSupport.on_load(:active_record) { self.logger = SemanticLogger::Logger.new('ActiveRecord') }
68
- ActiveSupport.on_load(:action_controller) { self.logger = SemanticLogger::Logger.new('ActionController') }
69
- ActiveSupport.on_load(:action_mailer) { self.logger = SemanticLogger::Logger.new('ActionMailer') }
70
- end
71
-
72
- end
73
- end