maestro_common 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -11,6 +11,7 @@ spec/reports
11
11
  test/tmp
12
12
  test/version_tmp
13
13
  tmp
14
+ Gemfile.lock
14
15
 
15
16
  # YARD artifacts
16
17
  .yardoc
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ jruby-1.6.8
@@ -0,0 +1,93 @@
1
+ # Copyright 2011© MaestroDev. All rights reserved.
2
+
3
+ require 'logging'
4
+
5
+ module Maestro
6
+
7
+ if !Maestro.const_defined?("Logging")
8
+
9
+ module Logging
10
+
11
+ DEFAULT_EMAIL_CONFIG = {
12
+ :level => :error,
13
+ :from => "noreply@maestrodev.com",
14
+ :to => "maestro-commits@maestrodev.com",
15
+ :server => "localhost",
16
+ :port => 25,
17
+ #:domain => "localhost.localdomain"
18
+ #:acct => "user",
19
+ #:passwd => "password",
20
+ #:authtype => :cram_md5,
21
+ :subject => "[#{$0}] LOG NOTIFICATION", # $0 is the name of the program used in the cmdline
22
+ :buffer_size => 1 # send emails immediately
23
+ }
24
+
25
+ def setup_logging(log_file, log_pattern="%d [Thread-%t] %-5l - %m\n", date_pattern = "%Y-%m-%d %H:%M:%S,%L")
26
+ @@log_path = File.dirname(log_file)
27
+ FileUtils.mkdir_p @@log_path
28
+ puts "Logging to #{File.expand_path(log_file)}"
29
+
30
+ # define a rolling file log
31
+ rolling_file = ::Logging.appenders.rolling_file(
32
+ log_file,
33
+ :age => 'daily',
34
+ :layout => ::Logging::Layouts::Pattern.new(:date_pattern => date_pattern, :pattern => log_pattern))
35
+
36
+
37
+ # Setup a module-wide logger
38
+ @@log = ::Logging::Logger.new(log_file)
39
+ @@log.additive = false
40
+ @@log.add_appenders(rolling_file)
41
+
42
+ # logging of the 'logging' framework itself. Useful for debugging 'log by email' issues
43
+ ::Logging::Logger[::Logging].level=:info
44
+ ::Logging::Logger[::Logging].add_appenders(rolling_file)
45
+
46
+ # unless in production or test
47
+ unless (ENV['MAESTRO_ENV'] == 'production' || ENV['MAESTRO_ENV'] == 'test')
48
+
49
+ # show "debug" or higher messages on STDOUT using the Basic layout
50
+ stdout = ::Logging.appenders.stdout(
51
+ :level => :debug,
52
+ :layout => ::Logging::Layouts::Pattern.new(:date_pattern => date_pattern, :pattern => log_pattern))
53
+
54
+ @@log.add_appenders(stdout)
55
+ ::Logging::Logger[::Logging].add_appenders(stdout)
56
+
57
+ # For some reason not having this line causes "warning: syswrite for buffered IO" messages
58
+ # in the Logging gem.
59
+ puts "Logging configured"
60
+ end
61
+ end
62
+
63
+ def setup_logging_email(config)
64
+ # send high priority logs via e-mail
65
+ # options from logging https://github.com/TwP/logging/blob/master/lib/logging/appenders/email.rb
66
+ # and net/smtp http://www.ruby-doc.org/stdlib-1.9.3/libdoc/net/smtp/rdoc/Net/SMTP.html#method-i-start
67
+
68
+ # remove nils in config passed, change keys to be symbols instead of strings
69
+ myconfig = config.delete_if { |k, v| v.nil? }.inject({}) { |h, (k, v)| h[k.to_sym] = v; h }
70
+ # merge defaults with config values
71
+ email_config = DEFAULT_EMAIL_CONFIG.merge(myconfig)
72
+ email = ::Logging.appenders.email('email', email_config)
73
+ @@log.add_appenders(email)
74
+ end
75
+
76
+ def log
77
+ return @@log
78
+ end
79
+
80
+ def log_level=(level)
81
+ @@log.level = level.is_a?(Symbol) ? level : level.downcase.to_sym
82
+ end
83
+
84
+ def log_level
85
+ @@log.level
86
+ end
87
+
88
+ def log_path
89
+ @@log_path
90
+ end
91
+ end
92
+ end
93
+ end
@@ -1,5 +1,5 @@
1
1
  module Maestro
2
2
  module Common
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
@@ -19,13 +19,13 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ['lib']
20
20
 
21
21
  spec.add_dependency 'onstomp'
22
- spec.add_dependency 'logging', '1.8.0'
23
- spec.add_dependency 'rubyzip', '0.9.8'
22
+ spec.add_dependency 'logging', '>= 1.8.0'
23
+ spec.add_dependency 'rubyzip', '>= 0.9.8'
24
24
  spec.add_dependency 'json', '>= 1.4.6'
25
25
 
26
- spec.add_development_dependency 'bundler', '~> 1.3'
26
+ spec.add_development_dependency 'bundler', '>= 1.3'
27
27
  spec.add_development_dependency 'rake'
28
28
  spec.add_development_dependency 'jruby-openssl'
29
- spec.add_development_dependency 'rspec', '~> 2.13.0'
29
+ spec.add_development_dependency 'rspec', '>= 2.13.0'
30
30
 
31
31
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: maestro_common
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Doug Henderson
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2013-06-12 00:00:00 Z
13
+ date: 2013-07-16 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: onstomp
@@ -28,7 +28,7 @@ dependencies:
28
28
  version_requirements: &id002 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
- - - "="
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.8.0
34
34
  requirement: *id002
@@ -39,7 +39,7 @@ dependencies:
39
39
  version_requirements: &id003 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
- - - "="
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: 0.9.8
45
45
  requirement: *id003
@@ -61,7 +61,7 @@ dependencies:
61
61
  version_requirements: &id005 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
- - - ~>
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: "1.3"
67
67
  requirement: *id005
@@ -94,7 +94,7 @@ dependencies:
94
94
  version_requirements: &id008 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
- - - ~>
97
+ - - ">="
98
98
  - !ruby/object:Gem::Version
99
99
  version: 2.13.0
100
100
  requirement: *id008
@@ -111,13 +111,13 @@ extra_rdoc_files: []
111
111
 
112
112
  files:
113
113
  - .gitignore
114
- - .rvmrc
114
+ - .ruby-version
115
115
  - Gemfile
116
- - Gemfile.lock
117
116
  - README.md
118
117
  - Rakefile
119
118
  - lib/maestro_common/common.rb
120
119
  - lib/maestro_common/helpers/mq_helper.rb
120
+ - lib/maestro_common/logging/maestro_logging.rb
121
121
  - lib/maestro_common/utils/retryable.rb
122
122
  - lib/maestro_common/version.rb
123
123
  - maestro_common.gemspec
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use jruby-1.6.8
data/Gemfile.lock DELETED
@@ -1,43 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- maestro_common (0.0.1)
5
- json (>= 1.4.6)
6
- logging (= 1.8.0)
7
- onstomp
8
- rubyzip (= 0.9.8)
9
-
10
- GEM
11
- remote: https://rubygems.org/
12
- specs:
13
- bouncy-castle-java (1.5.0147)
14
- diff-lcs (1.2.4)
15
- jruby-openssl (0.8.8)
16
- bouncy-castle-java (>= 1.5.0147)
17
- json (1.8.0-java)
18
- little-plugger (1.1.3)
19
- logging (1.8.0)
20
- little-plugger (>= 1.1.3)
21
- multi_json (>= 1.3.6)
22
- multi_json (1.7.6)
23
- onstomp (1.0.5)
24
- rake (10.0.4)
25
- rspec (2.13.0)
26
- rspec-core (~> 2.13.0)
27
- rspec-expectations (~> 2.13.0)
28
- rspec-mocks (~> 2.13.0)
29
- rspec-core (2.13.1)
30
- rspec-expectations (2.13.0)
31
- diff-lcs (>= 1.1.3, < 2.0)
32
- rspec-mocks (2.13.1)
33
- rubyzip (0.9.8)
34
-
35
- PLATFORMS
36
- java
37
-
38
- DEPENDENCIES
39
- bundler (~> 1.3)
40
- jruby-openssl
41
- maestro_common!
42
- rake
43
- rspec (~> 2.13.0)