logstream 0.0.3 → 0.0.4

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