logstream 0.0.3 → 0.0.4

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
  SHA512:
3
- metadata.gz: 1fa547fb21b2d71dfd071080ae7c45578a87249cc597d457f07e99845264dc813ce07f43be64e4670223630756af278196ff6d782248604b5a7eaeaf0fd0e301
4
- data.tar.gz: 27d45f6749f8747a8ef20c75bdb108f671f18679620ec9262ed29ee54c18abedec59c2f2f55331d693671ceeaa8c524de77ec961663a39d0e3160e4c6b5a33bd
3
+ metadata.gz: 14af9ce654518058309aef8be98629bcea26dfcaf962797acac04709fcc6a56cc258fc98b2aad70f303265c3e2b9d5d042b7c5cec600ad186fba6512d4a0aade
4
+ data.tar.gz: 3bebdfa9608a4e5d2adb01cb8b20d1ad9e14540cb45c91692a6bb518fcbd7d775bded11b96b5647f04f056a86f0056d19355fc3560bba71e876332dcaab52879
5
5
  SHA1:
6
- metadata.gz: b8be630279816cf16b010c3f59da6fd8d4e89eda
7
- data.tar.gz: a50a216b03f3db2fe036f007a1cc338b43a472ec
6
+ metadata.gz: 3d798c7101cb88557885503f033895115ee98474
7
+ data.tar.gz: 8fc9ea8fff537fd8c80ab73a5e335fa989619fe3
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- logstream (0.0.2)
4
+ logstream (0.0.3)
5
5
  faye-websocket (~> 0.7.2)
6
6
  json (~> 1.7.7)
7
7
  thor (~> 0.19.1)
data/README.md CHANGED
@@ -57,43 +57,119 @@ other elements of the hash.
57
57
 
58
58
  Available commands are defined in the following subsections. Inbound
59
59
  commands can arrive from the upstream client (end-user client, or an
60
- upstream logtailor). Outbound commands are sent to the upstream client.
60
+ upstream logtailor). Outbound commands are sent to the upstream
61
+ client.
62
+
63
+ In the examples that follow, "<-" indicates and inbound command and
64
+ "->" indicates an outbound command. Those indicators are merely
65
+ documentation for the examples; they are not part of the API.
66
+
67
+ ### API example
68
+
69
+ The logstream CLI --debug option shows API messages as they
70
+ occur. Here is hypothetical debug output for the Dev environment of a
71
+ site named "mysite" up to the first actual log message arriving. By
72
+ default, the CLI enables the log types apache-request, php-error,
73
+ drupal-watchdog, and varnish-request.
74
+
75
+ ```
76
+ $ logstream tail devcloud:mysite dev --debug
77
+ -> connect to wss://logstream.acquia.com/ah_websocket/logstream/v1
78
+ -> {"site":"devcloud:mysite","d":"deaefc1f42a4d18cb932c2eb9fa75115fba5ab83f1a3c564767ef1ce8dabf2cc","t":1404764927,"env":"dev","cmd":"stream-environment"}
79
+ <- {"cmd":"connected","server":"logstream-api-61"}
80
+ <- {"cmd":"connected","server":"bal-4"}
81
+ <- {"type":"bal-request","cmd":"available","server":"bal-4","display_type":"Balancer request"}
82
+ <- {"type":"varnish-request","cmd":"available","server":"bal-4","display_type":"Varnish request"}
83
+ -> {"cmd":"enable","type":"varnish-request","server":"bal-4"}
84
+ <- {"server":"srv-6","cmd":"connected"}
85
+ <- {"display_type":"Apache request","server":"srv-6","cmd":"available","type":"apache-request"}
86
+ -> {"cmd":"enable","type":"apache-request","server":"srv-6"}
87
+ <- {"display_type":"Apache error","server":"srv-6","cmd":"available","type":"apache-error"}
88
+ <- {"display_type":"PHP error","server":"srv-6","cmd":"available","type":"php-error"}
89
+ -> {"cmd":"enable","type":"php-error","server":"srv-6"}
90
+ <- {"display_type":"Drupal watchdog","server":"srv-6","cmd":"available","type":"drupal-watchdog"}
91
+ -> {"cmd":"enable","type":"drupal-watchdog","server":"srv-6"}
92
+ <- {"display_type":"Drupal request","server":"srv-6","cmd":"available","type":"drupal-request"}
93
+ <- {"server":"bal-5","cmd":"connected"}
94
+ <- {"msg":{"type":"varnish-request","server":"bal-4","cmd":"enable"},"cmd":"success","server":"bal-4"}
95
+ <- {"server":"srv-6","cmd":"success","msg":{"server":"srv-6","cmd":"enable","type":"apache-request"}}
96
+ <- {"server":"srv-6","cmd":"success","msg":{"server":"srv-6","cmd":"enable","type":"php-error"}}
97
+ <- {"server":"srv-6","cmd":"success","msg":{"server":"srv-6","cmd":"enable","type":"drupal-watchdog"}}
98
+ <- {"server":"bal-5","display_type":"Balancer request","cmd":"available","type":"bal-request"}
99
+ <- {"server":"bal-5","display_type":"Varnish request","cmd":"available","type":"varnish-request"}
100
+ -> {"cmd":"enable","type":"varnish-request","server":"bal-5"}
101
+ <- {"server":"bal-5","cmd":"success","msg":{"server":"bal-5","type":"varnish-request","cmd":"enable"}}
102
+ <- {"text":"107.0.255.129 - - [07/Jul/2014:20:28:53 +0000] \"GET / HTTP/1.0\" 200 2454 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36\" vhost=mysitedev.devcloud.acquia-sites.com host=mysitedev.devcloud.acquia-sites.com hosting_site=mysitedev pid=6863 request_time=80001 request_id=\"v-4fe9953a-0615-11e4-9fd8-1231392c7b9c\"","server":"srv-6","cmd":"line","http_status":200,"log_type":"apache-request","disp_time":"2014-07-07 20:28:53"}
103
+ 107.0.255.129 - - [07/Jul/2014:20:28:53 +0000] "GET / HTTP/1.0" 200 2454 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" vhost=eebjaspandev.devcloud.acquia-sites.com host=eebjaspandev.devcloud.acquia-sites.com hosting_site=eebjaspandev pid=6863 request_time=80001 request_id="v-4fe9953a-0615-11e4-9fd8-1231392c7b9c"
104
+ ```
61
105
 
62
106
  ### success (outbound)
63
107
 
64
108
  Sent by a variety of commands when a triggering command is completed
65
109
  successfully (failures result in an error command). Since some commands execute
66
110
  on multiple servers, a single command may generate multiple success
67
- replies. Parameters:
111
+ replies.
112
+
113
+ Parameters:
68
114
 
69
115
  * msg: the message that succeeded
70
116
 
117
+ Example:
118
+
119
+ ```
120
+ <- {"cmd":"success","msg":{"type":"varnish-request","server":"bal-4","cmd":"enable"},"server":"bal-4"}
121
+ ```
122
+
71
123
  ### error (outbound)
72
124
 
73
125
  Sent when an error occurs, either because of a bad request or any kind of
74
126
  system or network failure. Since some commands execute on multiple servers, a
75
- single command may generate multiple error replies. Parameters:
127
+ single command may generate multiple error replies.
128
+
129
+ Parameters:
76
130
 
77
131
  * code: an HTTP-like status code; i.e.: 400 means your fault, 500 means our
78
132
  fault.
79
133
  * description: a human-readable description of the error condition
80
134
  * during: the operation that triggered the error
81
135
 
136
+ Example:
137
+
138
+ ```
139
+ <- {"cmd"=>"error", "during"=>"{\"description\":\"this is an invalid message\"}", "description"=>"message missing cmd paramter", "code"=>400, "server"=>"logstream-api-61"}
140
+ ```
141
+
82
142
  ### connected (outbound)
83
143
 
84
- Sent upon initial connection to a server. Parameters:
144
+ Sent upon initial connection to a server.
145
+
146
+ Parameters:
85
147
 
86
148
  * server: the name of the connected server
87
149
 
150
+ Example:
151
+
152
+ ```
153
+ <- {"cmd":"connected","server":"logstream-api-61"}
154
+ ```
155
+
88
156
  ### available (outbound)
89
157
 
90
- Sent to indicate an available log source. Parameters:
158
+ Sent to indicate an available log source.
159
+
160
+ Parameters:
91
161
 
92
162
  * type: the log type (e.g. apache-access)
93
163
  * display: the suggested display name for the log type (e.g. "Apache access")
94
164
  * server: the originating server for this stream
95
165
 
96
- ### list-available (inbound) and list-availabe (outbound)
166
+ Example:
167
+
168
+ ```
169
+ <- {"type":"varnish-request","cmd":"available","server":"bal-4","display_type":"Varnish request"}
170
+ ```
171
+
172
+ ### list-available (inbound)
97
173
 
98
174
  Requests a list of all available log sources from one specified server or all
99
175
  servers. Parameters:
@@ -103,38 +179,73 @@ servers. Parameters:
103
179
 
104
180
  One or all servers will send available messages for each available log source.
105
181
 
182
+ Example:
183
+
184
+ ```
185
+ -> {"server":"srv-6","cmd":"list-available"}
186
+ <- {"display_type":"Apache request","server":"srv-6","cmd":"available","type":"apache-request"}
187
+ <- {"display_type":"Apache error","server":"srv-6","cmd":"available","type":"apache-error"}
188
+ ```
189
+
106
190
  ### enable (inbound)
107
191
 
108
192
  Starts streaming a specific source previously offered via an
109
- "available" command. Parameters:
193
+ "available" command.
194
+
195
+ Parameters:
110
196
 
111
197
  * type: the log type to start streaming
112
198
  * server: the originating server to stream from
113
199
 
114
200
  Sends a success or error reply.
115
201
 
202
+ Example:
203
+
204
+ ```
205
+ -> {"cmd":"enable","type":"varnish-request","server":"bal-4"}
206
+ ```
207
+
116
208
  ### disable (inbound)
117
209
 
118
- Stops streaming from an enabled source. Parameters:
210
+ Stops streaming from an enabled source.
211
+
212
+ Parameters:
119
213
 
120
214
  * type: the log type to stop streaming
121
215
  * server: the originating server to stream from
122
216
 
123
217
  Sends a success or error reply.
124
218
 
125
- ### list-enabled (inbound) and list-enabled (outbound)
219
+ Example:
220
+
221
+ ```
222
+ -> {"cmd":"disable","type":"varnish-request","server":"bal-4"}
223
+ ```
224
+
225
+ ### list-enabled (inbound) and enabled (outbound)
126
226
 
127
227
  Requests a list of all enabled log sources from one specified server or all
128
- servers. Parameters:
228
+ servers.
229
+
230
+ Parameters:
129
231
 
130
232
  * server: the originating server to list; if not specified, all
131
233
  connected servers will reply.
132
234
 
133
- One or all servers will send a list-enabled reply. Parameters:
235
+ One or all servers will send a enabled reply.
236
+
237
+ Parameters:
134
238
 
135
239
  * enabled: an array of enabled log sources
136
240
  * server: the server these logs are enabled on
137
241
 
242
+ Example:
243
+
244
+ ```
245
+ -> {"server":"srv-6","cmd":"list-enabled"}
246
+ <-> {"server":"srv-6","cmd":"enabled","enabled":["drupal-watchdog","apache-request","php-error"]}
247
+ ```
248
+
138
249
  ### line (outbound)
139
250
 
140
251
  Sent when a new, enabled line of log data is available. Parameters:
@@ -150,3 +261,8 @@ Line messages may also contain other data depending on the log type:
150
261
  * http_status: the HTTP status code, if the log line records an HTTP request
151
262
  (e.g. from Apache, nginx, Varnish, etc)
152
263
 
264
+ Example:
265
+
266
+ ```
267
+ <- {"text":"107.0.255.129 - - [07/Jul/2014:20:28:53 +0000] \"GET / HTTP/1.0\" 200 2454 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36\" vhost=mysitedev.devcloud.acquia-sites.com host=mysitedev.devcloud.acquia-sites.com hosting_site=mysitedev pid=6863 request_time=80001 request_id=\"v-4fe9953a-0615-11e4-9fd8-1231392c7b9c\"","server":"srv-6","cmd":"line","http_status":200,"log_type":"apache-request","disp_time":"2014-07-07 20:28:53"}
268
+ ```
data/etc/ca.pem CHANGED
@@ -1,8 +1,47 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIGVTCCBT2gAwIBAgIQCFH5WYFBRcq94CTiEsnCDjANBgkqhkiG9w0BAQUFADBs
2
+ MIIGvzCCBaegAwIBAgIQD1pdYvA5l5l2ezeWEsVwNTANBgkqhkiG9w0BAQUFADBm
3
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
4
+ d3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
5
+ ZSBDQS0zMB4XDTEyMDgyNzAwMDAwMFoXDTE1MDkwOTEyMDAwMFowfzELMAkGA1UE
6
+ BhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0dHMxEzARBgNVBAcTCkJ1cmxpbmd0
7
+ b24xEzARBgNVBAoTCkFjcXVpYSBJbmMxFzAVBgNVBAsTDkFjcXVpYSBIb3N0aW5n
8
+ MRUwEwYDVQQDDAwqLmFjcXVpYS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
9
+ ggEKAoIBAQCVmcKz54qAbNO9NyP3hA96gzGRORSB9Bz4EOuFM1kfD/gvZoXoqk87
10
+ NC/jPrvPAxNZDJ33IrO08WDWxBVi6UQ7Q9YYFgU1mm0se4qjwld7dtziDnaq2zXc
11
+ x4Q+AVfBj92w+RsVDWA2mNtMSaDePqXGzLOz4muUCA5oCtMg2QD+XIEp1yt13nQb
12
+ 5nW6PbY6kHHviepNX3wj7TdqTLNPdCVcK9BJz2YTjfHtBBxnGxR/m804RL9fYWKz
13
+ r6XUbbf+gcKFwMqRI54Qs5cD20jmYnYgXFYwAx6HvOH9Lr969xMq5ePIQkKc66kG
14
+ Opie8unjAQRgd6T7lL+zvpaen1UhJruhAgMBAAGjggNOMIIDSjAfBgNVHSMEGDAW
15
+ gBRQ6nOJ2yn7EI+e5QEg1N55mUiD9zAdBgNVHQ4EFgQUJuo64qCLWo0Fvi6AsOYG
16
+ IiNj+s8wIwYDVR0RBBwwGoIMKi5hY3F1aWEuY29tggphY3F1aWEuY29tMA4GA1Ud
17
+ DwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwYQYDVR0f
18
+ BFowWDAqoCigJoYkaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL2NhMy1nMjcuY3Js
19
+ MCqgKKAmhiRodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vY2EzLWcyNy5jcmwwggHE
20
+ BgNVHSAEggG7MIIBtzCCAbMGCWCGSAGG/WwBATCCAaQwOgYIKwYBBQUHAgEWLmh0
21
+ dHA6Ly93d3cuZGlnaWNlcnQuY29tL3NzbC1jcHMtcmVwb3NpdG9yeS5odG0wggFk
22
+ BggrBgEFBQcCAjCCAVYeggFSAEEAbgB5ACAAdQBzAGUAIABvAGYAIAB0AGgAaQBz
23
+ ACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAYwBvAG4AcwB0AGkAdAB1AHQAZQBz
24
+ ACAAYQBjAGMAZQBwAHQAYQBuAGMAZQAgAG8AZgAgAHQAaABlACAARABpAGcAaQBD
25
+ AGUAcgB0ACAAQwBQAC8AQwBQAFMAIABhAG4AZAAgAHQAaABlACAAUgBlAGwAeQBp
26
+ AG4AZwAgAFAAYQByAHQAeQAgAEEAZwByAGUAZQBtAGUAbgB0ACAAdwBoAGkAYwBo
27
+ ACAAbABpAG0AaQB0ACAAbABpAGEAYgBpAGwAaQB0AHkAIABhAG4AZAAgAGEAcgBl
28
+ ACAAaQBuAGMAbwByAHAAbwByAGEAdABlAGQAIABoAGUAcgBlAGkAbgAgAGIAeQAg
29
+ AHIAZQBmAGUAcgBlAG4AYwBlAC4wewYIKwYBBQUHAQEEbzBtMCQGCCsGAQUFBzAB
30
+ hhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRQYIKwYBBQUHMAKGOWh0dHA6Ly9j
31
+ YWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEhpZ2hBc3N1cmFuY2VDQS0zLmNy
32
+ dDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQCwbrUX+rSNdiS1ivce
33
+ pI3gzzlOG9FjcPPTfoLD/+eiysiTKe7d3Hb9urHZWGuEWWxXRl+6tND3TAt8ONpM
34
+ ZCs+nls+qvspG8ApQMZLgak4kb4+CaLMi6ZpQ2JTI89iChonOjI0OP6dVDbGbTvV
35
+ a7LKkiZw1xJNYUnhIiqOE1B9Ww3SUUpe1TLmiAYiiYiiuiyBxMz48sARHXnlEbWw
36
+ 0dHOnU51tvG1zkv9sATYwv3LtIjf9pmXZnS1W0j5Ap0JeFbgFywVi0zSpbix0fzr
37
+ pyArWETFKxirR2bCVFH0sVZ2q3/sznguUx1QgH+tese0hqHm2epRORcOi69mcDYi
38
+ Cf5v
39
+ -----END CERTIFICATE-----
40
+ -----BEGIN CERTIFICATE-----
41
+ MIIGWDCCBUCgAwIBAgIQCl8RTQNbF5EX0u/UA4w/OzANBgkqhkiG9w0BAQUFADBs
3
42
  MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
4
43
  d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
5
- ZSBFViBSb290IENBMB4XDTA3MDQwMzAwMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL
44
+ ZSBFViBSb290IENBMB4XDTA4MDQwMjEyMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL
6
45
  MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
7
46
  LmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
8
47
  Q0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR
@@ -11,7 +50,7 @@ KEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5
11
50
  BUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf
12
51
  1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs
13
52
  zPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d
14
- 32duXvsCAwEAAaOCAvcwggLzMA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w
53
+ 32duXvsCAwEAAaOCAvowggL2MA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w
15
54
  ggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3
16
55
  LmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH
17
56
  AgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy
@@ -21,69 +60,39 @@ AEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ
21
60
  AGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt
22
61
  AGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj
23
62
  AG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl
24
- AHIAZQBuAGMAZQAuMA8GA1UdEwEB/wQFMAMBAf8wNAYIKwYBBQUHAQEEKDAmMCQG
25
- CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSBhzCB
26
- hDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGlnaEFz
27
- c3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQu
28
- Y29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSMEGDAW
29
- gBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUBINTe
30
- eZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAF1PhPGoiNOjsrycbeUpSXfh59bcqdg1
31
- rslx3OXb3J0kIZCmz7cBHJvUV5eR13UWpRLXuT0uiT05aYrWNTf58SHEW0CtWakv
32
- XzoAKUMncQPkvTAyVab+hA4LmzgZLEN8rEO/dTHlIxxFVbdpCJG1z9fVsV7un5Tk
33
- 1nq5GMO41lJjHBC6iy9tXcwFOPRWBW3vnuzoYTYMFEuFFFoMg08iXFnLjIpx2vrF
34
- EIRYzwfu45DC9fkpx1ojcflZtGQriLCnNseaIGHr+k61rmsb5OPs4tk8QUmoIKRU
35
- 9ZKNu8BVIASm2LAXFszj0Mi0PeXZhMbT9m5teMl5Q+h6N/9cNUm/ocU=
36
- -----END CERTIFICATE-----
37
- -----BEGIN CERTIFICATE-----
38
- MIIEQjCCA6ugAwIBAgIEQodApTANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
39
- VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
40
- ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
41
- KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
42
- ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEw
43
- MDEwNTAwMDBaFw0xNDA3MjYxODE1MTVaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK
44
- EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV
45
- BAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG
46
- SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD
47
- 1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt
48
- cZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46
49
- OFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd
50
- HFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm
51
- t4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET
52
- MIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr
53
- BgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo
54
- dHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v
55
- Y3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU
56
- mCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7
57
- UISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF
58
- BQADgYEASA4rbyBiTCiToyQ9WKshz4D4mpeQaiLtWnxHNpnneYR1qySPkgrVYQSu
59
- w2pcsszZ5ESHb9uPOGL3RDadurxuB8TUjegf0Qtgo7WczmO+7Wfc+Lrebskly1u1
60
- nXZwC99CcvhPQRFkpdLq/NWvEfQVOGecIKhLd1qRMkIy54Wz3zY=
63
+ AHIAZQBuAGMAZQAuMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYIKwYBBQUHAQEEKDAm
64
+ MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSB
65
+ hzCBhDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGln
66
+ aEFzc3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNl
67
+ cnQuY29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSME
68
+ GDAWgBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUB
69
+ INTeeZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAB7ipUiebNtTOA/vphoqrOIDQ+2a
70
+ vD6OdRvw/S4iWawTwGHi5/rpmc2HCXVUKL9GYNy+USyS8xuRfDEIcOI3ucFbqL2j
71
+ CwD7GhX9A61YasXHJJlIR0YxHpLvtF9ONMeQvzHB+LGEhtCcAarfilYGzjrpDq6X
72
+ dF3XcZpCdF/ejUN83ulV7WkAywXgemFhM9EZTfkI7qA5xSU1tyvED7Ld8aW3DiTE
73
+ JiiNeXf1L/BXunwH1OH8zVowV36GEEfdMR/X/KLCvzB8XSSq6PmuX2p0ws5rs0bY
74
+ Ib4p1I5eFdZCSucyb6Sxa1GDWL4/bcf72gMhy2oWGU4K8K2Eyl2Us1p292E=
61
75
  -----END CERTIFICATE-----
62
76
  -----BEGIN CERTIFICATE-----
63
- MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
64
- VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
65
- ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
66
- KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
67
- ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
68
- MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
69
- ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
70
- b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
71
- bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
72
- U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
73
- A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
74
- I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
75
- wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
76
- AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
77
- oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
78
- BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
79
- dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
80
- MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
81
- b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
82
- dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
83
- MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
84
- E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
85
- MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
86
- hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
87
- 95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
88
- 2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
89
- -----END CERTIFICATE-----
77
+ MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
78
+ MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
79
+ d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
80
+ ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
81
+ MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
82
+ LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
83
+ RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
84
+ +9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
85
+ PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
86
+ xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
87
+ Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
88
+ hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
89
+ EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
90
+ MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
91
+ FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
92
+ nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
93
+ eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
94
+ hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
95
+ Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
96
+ vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
97
+ +OkuE6N36B9K
98
+ -----END CERTIFICATE-----
@@ -31,16 +31,24 @@ module Logstream
31
31
  end
32
32
  end
33
33
 
34
+ def debug_send(msg)
35
+ debug("-> #{msg}")
36
+ end
37
+
38
+ def debug_recv(msg)
39
+ debug("<- #{msg}")
40
+ end
41
+
34
42
  def run(url, connect_message)
35
43
  EM.run do
36
- debug(url)
44
+ debug_send("connect to #{url}")
37
45
  ws = Faye::WebSocket::Client.new(url)
38
46
  ws.on :open do
39
- debug(connect_message.inspect)
47
+ debug_send(connect_message)
40
48
  ws.send(connect_message)
41
49
  end
42
50
  ws.on :message do |body,type|
43
- debug(body.data)
51
+ debug_recv(body.data)
44
52
  msg = JSON.parse(body.data)
45
53
  case msg['cmd']
46
54
  when 'success'
@@ -84,13 +92,16 @@ module Logstream
84
92
  end
85
93
 
86
94
  def send_msg(ws, msg)
87
- ws.send(msg.to_json)
95
+ body = msg.to_json
96
+ debug_send(body)
97
+ ws.send(body)
88
98
  end
89
99
 
90
100
  GREEN = '32;1'
91
101
  RED = '31;1'
92
102
  YELLOW = '33;1'
93
103
  BLUE = '34;1'
104
+ CYAN = '46;37;1'
94
105
  LOG_TYPE_COLORS = {
95
106
  'apache-request' => {
96
107
  /^5/ => RED,
@@ -106,7 +117,7 @@ module Logstream
106
117
  'php-error' => RED,
107
118
  'drupal-watchdog' => BLUE,
108
119
  'logtailor-error' => RED,
109
- 'logtailor-debug' => BLUE,
120
+ 'logtailor-debug' => CYAN,
110
121
  }
111
122
 
112
123
  def color(type, status)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Barry Jaspan
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2014-06-16 00:00:00 Z
12
+ date: 2014-08-04 00:00:00 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faye-websocket