logs-cf-plugin 0.0.26.pre → 0.0.27.pre

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,10 +2,12 @@ require 'log_message/log_message.pb'
2
2
  require 'faye/websocket'
3
3
  require 'eventmachine'
4
4
  require 'uri'
5
+ require 'logs-cf-plugin/message_writer'
5
6
 
6
7
  module LogsCfPlugin
7
8
  class LoggregatorClient
8
9
  include CFoundry::TraceHelpers
10
+ include MessageWriter
9
11
 
10
12
  def initialize(loggregator_host, user_token, output, trace)
11
13
  @output = output
@@ -31,7 +33,7 @@ module LogsCfPlugin
31
33
  ws.on :message do |event|
32
34
  begin
33
35
  received_message = LogMessage.decode(event.data.pack("C*"))
34
- MessageWriter.write(output, received_message)
36
+ write(output, received_message)
35
37
  rescue Beefcake::Message::WrongTypeError, Beefcake::Message::RequiredFieldNotSetError, Beefcake::Message::InvalidValueError
36
38
  output.puts("Error parsing data. Please ensure your gem is the latest version.")
37
39
  ws.close
@@ -102,7 +104,9 @@ module LogsCfPlugin
102
104
  output.puts(response_trace(response_hash))
103
105
  end
104
106
 
105
- messages
107
+ messages.each do |m|
108
+ write(output, m)
109
+ end
106
110
  rescue Beefcake::Message::WrongTypeError, Beefcake::Message::RequiredFieldNotSetError, Beefcake::Message::InvalidValueError
107
111
  output.puts("Error parsing data. Please ensure your gem is the latest version.")
108
112
  []
@@ -1,5 +1,10 @@
1
+ require "cf/cli"
2
+
1
3
  module MessageWriter
2
- def self.write(output, message)
3
- output.puts([message.app_id, message.source_id, message.message_type_name, message.message].join(" "))
4
+ include CF::Interactive
5
+ def write(output, message)
6
+ msg = [message.app_id, message.source_id, message.message_type_name, message.message].join(" ")
7
+ msg = c(msg, :error) if message.message_type == LogMessage::MessageType::ERR
8
+ output.puts(msg)
4
9
  end
5
10
  end
@@ -7,6 +7,7 @@ module LogsCfPlugin
7
7
 
8
8
  class Plugin < CF::CLI
9
9
  include LoginRequirements
10
+ include MessageWriter
10
11
 
11
12
  desc "Tail or dump logs for CF applications or spaces"
12
13
  group :apps
@@ -34,10 +35,7 @@ module LogsCfPlugin
34
35
  loggregator_client = LoggregatorClient.new(loggregator_host, client.token.auth_header, STDOUT, input[:trace])
35
36
 
36
37
  if input[:recent]
37
- loggregator_client.dump_messages(log_target.query_params).each do |m|
38
- MessageWriter.write(STDOUT, m)
39
- end
40
-
38
+ loggregator_client.dump_messages(log_target.query_params)
41
39
  else
42
40
  loggregator_client.listen(log_target.query_params)
43
41
  end
@@ -52,4 +50,4 @@ module LogsCfPlugin
52
50
  "loggregator.#{target_base}"
53
51
  end
54
52
  end
55
- end
53
+ end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logs-cf-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26.pre
4
+ version: 0.0.27.pre
5
+ prerelease: 7
5
6
  platform: ruby
6
7
  authors:
7
8
  - Pivotal
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-08-14 00:00:00.000000000 Z
12
+ date: 2013-08-19 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: cf
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -23,6 +25,7 @@ dependencies:
23
25
  type: :runtime
24
26
  prerelease: false
25
27
  version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
26
29
  requirements:
27
30
  - - ! '>='
28
31
  - !ruby/object:Gem::Version
@@ -33,6 +36,7 @@ dependencies:
33
36
  - !ruby/object:Gem::Dependency
34
37
  name: faye-websocket
35
38
  requirement: !ruby/object:Gem::Requirement
39
+ none: false
36
40
  requirements:
37
41
  - - ~>
38
42
  - !ruby/object:Gem::Version
@@ -40,6 +44,7 @@ dependencies:
40
44
  type: :runtime
41
45
  prerelease: false
42
46
  version_requirements: !ruby/object:Gem::Requirement
47
+ none: false
43
48
  requirements:
44
49
  - - ~>
45
50
  - !ruby/object:Gem::Version
@@ -47,6 +52,7 @@ dependencies:
47
52
  - !ruby/object:Gem::Dependency
48
53
  name: beefcake
49
54
  requirement: !ruby/object:Gem::Requirement
55
+ none: false
50
56
  requirements:
51
57
  - - ~>
52
58
  - !ruby/object:Gem::Version
@@ -54,6 +60,7 @@ dependencies:
54
60
  type: :runtime
55
61
  prerelease: false
56
62
  version_requirements: !ruby/object:Gem::Requirement
63
+ none: false
57
64
  requirements:
58
65
  - - ~>
59
66
  - !ruby/object:Gem::Version
@@ -75,26 +82,27 @@ files:
75
82
  homepage: http://github.com/cloudfoundry/logs-cf-plugin
76
83
  licenses:
77
84
  - Apache 2.0
78
- metadata: {}
79
85
  post_install_message:
80
86
  rdoc_options: []
81
87
  require_paths:
82
88
  - lib
83
89
  - vendor
84
90
  required_ruby_version: !ruby/object:Gem::Requirement
91
+ none: false
85
92
  requirements:
86
93
  - - ! '>='
87
94
  - !ruby/object:Gem::Version
88
95
  version: 1.9.3
89
96
  required_rubygems_version: !ruby/object:Gem::Requirement
97
+ none: false
90
98
  requirements:
91
99
  - - ! '>'
92
100
  - !ruby/object:Gem::Version
93
101
  version: 1.3.1
94
102
  requirements: []
95
103
  rubyforge_project:
96
- rubygems_version: 2.0.4
104
+ rubygems_version: 1.8.25
97
105
  signing_key:
98
- specification_version: 4
106
+ specification_version: 3
99
107
  summary: CF Logs
100
108
  test_files: []
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MDMyMmMxYmM5NTQ3NDRlZjZhYjRkZjc1YmZkMTc2YjAwYTNmMjU1MA==
5
- data.tar.gz: !binary |-
6
- YjkyZjhjNjMyOWVmMzFlMjJmZTJjZjRiMGFiYjJjNmU0YWI1MjdjOQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NjA4MDJhMGQ1OTEyOGQ2MDUyMmNjMTRlOGM1OTc4NGRkY2RlNjk4M2JjZmI2
10
- YWJmYjE5ZWUzZTBjMjQ1NTViNzg1YTg2OTJlMjBhNzcxYTE2YjU3MzY4YzM5
11
- NDhjNzc5YTQ0MTY2ZGFmZGE1ZjgzZjY5YmZjYzljZTY0ODNlYjQ=
12
- data.tar.gz: !binary |-
13
- NmMyMDFjNTA5NzJhNGI3N2Q4NzVkYzJmNjlmZGVmNzM5MjU5Zjk5ODE2N2Nm
14
- NDM5OTlkNmMyOTM5YWRkZDg2ZDZkYzUwZGY4MDVmYzY1NzVjOGI4NDRhM2Yx
15
- Y2Y1ZTgyODdlOTg1YTlmNzM4YTczOWUwZDUxZjMwMzU1NGZlNTc=