maestro_common 0.0.1 → 0.0.2

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/.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)