evrone-ci-common 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f0256c1897586a4d5bbd1a809c7148d5789225c
4
- data.tar.gz: e9b9c4bd24c025c9e8ebe6a8e9308f56e67972df
3
+ metadata.gz: 579927164ce7768743cf28fd6f3885b006f9bcd8
4
+ data.tar.gz: 183e0536a1d8376354cf2d8a8082f01bde60f8bf
5
5
  SHA512:
6
- metadata.gz: 292585640d3c4e51ec2fd995991b04a6ed834eef434ce367a857b4863cf6b2bcb12ec00a037953726af7ee70b9e6684bf5074c406ed67ca735ae8998e03ac6b1
7
- data.tar.gz: 2e227ca8e6835fba1cff2b689e669f500884c52e0eadb3989bd07e252ef99a90c2864fc577f495e12049e81d538724c62706a5b1fd4c2395f0afe580b8c759af
6
+ metadata.gz: 398cc75b9af187374cd4b32a038e37727f504e48f3e6494c4daea388f10c65261ddae8f4c78754b236b6ade4551286b3b3466c7b113b19b3e06983c492e0c50b
7
+ data.tar.gz: de201b035a771e8b453af3683ce1b2f14dc93411b2fd4930752ee683ebee46e811438b8e0da506fb828bffba1d70ce7fe22dae9e8377eca53e86f83918218364
@@ -0,0 +1,83 @@
1
+ # from activesupport
2
+
3
+ require 'logger'
4
+
5
+ module Evrone
6
+ module CI
7
+ module Common
8
+ module TaggedLogging
9
+
10
+ class Formatter < ::Logger::Formatter
11
+ Format = "[%s] %1s : %s\n"
12
+
13
+ def call(severity, time, progname, msg)
14
+ Format % [format_datetime(time),
15
+ severity[0...1],
16
+ msg2str("#{tags_text}#{msg}")]
17
+ end
18
+
19
+ def thread_id
20
+ Thread.current.object_id
21
+ end
22
+
23
+ def tagged(*tags)
24
+ new_tags = push_tags(*tags)
25
+ yield self
26
+ ensure
27
+ pop_tags(new_tags.size)
28
+ end
29
+
30
+ def push_tags(*tags)
31
+ tags.flatten.reject{|i| i.to_s.strip.empty? }.tap do |new_tags|
32
+ current_tags.concat new_tags
33
+ end
34
+ end
35
+
36
+ def pop_tags(size = 1)
37
+ current_tags.pop size
38
+ end
39
+
40
+ def clear_tags!
41
+ current_tags.clear
42
+ end
43
+
44
+ def current_tags
45
+ Thread.current[:activesupport_tagged_logging_tags] ||= []
46
+ end
47
+
48
+ private
49
+
50
+ def tags_text
51
+ tags = current_tags
52
+ if tags.any?
53
+ tags.collect { |tag| "[#{tag}] " }.join
54
+ end
55
+ end
56
+
57
+ end
58
+
59
+ def self.new(logger)
60
+ # Ensure we set a default formatter so we aren't extending nil!
61
+ logger.formatter = Formatter.new
62
+ logger.extend(self)
63
+ end
64
+
65
+ %w{ push_tags pop_tags clear_tags! }.each do |m|
66
+ define_method m do
67
+ formatter.send(m)
68
+ end
69
+ end
70
+
71
+ def tagged(*tags)
72
+ formatter.tagged(*tags) { yield self }
73
+ end
74
+
75
+ def flush
76
+ clear_tags!
77
+ super if defined?(super)
78
+ end
79
+
80
+ end
81
+ end
82
+ end
83
+ end
@@ -1,7 +1,7 @@
1
1
  module Evrone
2
2
  module CI
3
3
  module Common
4
- VERSION = "0.0.4"
4
+ VERSION = "0.0.5"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evrone-ci-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Galinsky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-27 00:00:00.000000000 Z
11
+ date: 2013-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evrone-common-spawn
@@ -127,6 +127,7 @@ files:
127
127
  - lib/evrone/ci/common/helper/middlewares.rb
128
128
  - lib/evrone/ci/common/helper/shell.rb
129
129
  - lib/evrone/ci/common/perform_message_wrapper.rb
130
+ - lib/evrone/ci/common/tagged_logging.rb
130
131
  - lib/evrone/ci/common/version.rb
131
132
  - lib/evrone/ci/csm/git.rb
132
133
  - lib/evrone/ci/csm/git/git_ssh.rb