semantic_logger 1.0.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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