papertrail-cli 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -0
- data/README.md +39 -12
- data/bin/papertrail +5 -1
- data/examples/papertrail.yml.example +1 -2
- data/lib/papertrail-cli.rb +1 -1
- data/lib/papertrail/search_client.rb +6 -6
- data/papertrail-cli.gemspec +2 -2
- metadata +6 -17
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -4,40 +4,48 @@ Small standalone [binary] to retrieve, search, and tail recent app
|
|
4
4
|
server log and system syslog messages from [Papertrail].
|
5
5
|
|
6
6
|
Supports optional Boolean search queries and polling for new events
|
7
|
-
(like "tail -f").
|
7
|
+
(like "tail -f"). Example:
|
8
8
|
|
9
9
|
papertrail -f "(www OR db) (nginx OR pgsql) -accepted"
|
10
10
|
|
11
11
|
Output is line-buffered so it can be fed into a pipe, like for grep.
|
12
|
+
See below for colorization setup.
|
12
13
|
|
13
14
|
The [SearchClient] class can be used by other apps to perform one-off
|
14
15
|
API searches or follow (tail) events matching a given query. Interface
|
15
16
|
may change.
|
16
17
|
|
17
18
|
|
18
|
-
##
|
19
|
+
## Quick Start
|
19
20
|
|
20
21
|
$ [sudo] gem install papertrail-cli
|
21
|
-
$ echo "
|
22
|
+
$ echo "token: 123456789012345678901234567890ab" > ~/.papertrail.yml
|
22
23
|
$ papertrail
|
23
24
|
|
25
|
+
Retrieve token from Papertrail [Account Settings].
|
26
|
+
|
24
27
|
|
25
28
|
## Installation
|
26
29
|
|
27
|
-
Install the gem ([RubyGems]), which includes a binary called
|
30
|
+
Install the gem (details on [RubyGems]), which includes a binary called
|
31
|
+
"papertrail":
|
28
32
|
|
29
|
-
|
33
|
+
$ [sudo] gem install papertrail-cli
|
30
34
|
|
31
35
|
|
32
36
|
## Configuration
|
33
37
|
|
34
|
-
Create ~/.papertrail.yml containing your
|
38
|
+
Create ~/.papertrail.yml containing your API token, or specify the
|
35
39
|
path to that file with -c. Example (from
|
36
40
|
examples/papertrail.yml.example):
|
37
|
-
|
38
|
-
|
41
|
+
|
42
|
+
token: 123456789012345678901234567890ab
|
43
|
+
|
44
|
+
Retrieve token from Papertrail [Account Settings]. For compatibility with
|
45
|
+
older config files, `username` and `password` keys are also supported.
|
39
46
|
|
40
47
|
You may want to alias "trail" to "papertrail", like:
|
48
|
+
|
41
49
|
echo "alias trail=papertrail" >> ~/.bashrc
|
42
50
|
|
43
51
|
|
@@ -62,10 +70,27 @@ You may want to alias "trail" to "papertrail", like:
|
|
62
70
|
More: http://papertrailapp.com/
|
63
71
|
|
64
72
|
|
65
|
-
##
|
73
|
+
## Colors
|
74
|
+
|
75
|
+
Pipe through [colortail] or [MultiTail]. We recommend colortail:
|
76
|
+
|
77
|
+
$ sudo gem install colortail
|
78
|
+
|
79
|
+
Save [colortailrc] as `~/.colortailrc` and edit it to enable:
|
80
|
+
|
81
|
+
$ papertrail -f -d 5 | colortail -g papertrail
|
82
|
+
|
83
|
+
### Shorthand
|
84
|
+
|
85
|
+
If you're using bash, create a function that accepts arguments, then
|
86
|
+
invoke `pt` with optional search operators:
|
87
|
+
|
88
|
+
$ function pt() { papertrail -f -d 5 $_ | colortail -g papertrail }
|
89
|
+
$ pt 1.2.3 Failure
|
90
|
+
|
91
|
+
Add the function line to your `~/.bashrc`.
|
66
92
|
|
67
|
-
|
68
|
-
$ papertrail | multitail -c -j
|
93
|
+
### Advanced
|
69
94
|
|
70
95
|
For complete control, pipe through anything capable of inserting ANSI
|
71
96
|
control characters. Here's an example that colorizes 3 fields separately
|
@@ -98,7 +123,9 @@ to your enhancement.
|
|
98
123
|
[binary]: https://github.com/papertrail/papertrail-cli/blob/master/bin/papertrail
|
99
124
|
[Papertrail]: http://papertrailapp.com/
|
100
125
|
[SearchClient]: https://github.com/papertrail/papertrail-cli/blob/master/lib/papertrail/search_client.rb
|
126
|
+
[Account Settings]: https://papertrailapp.com/account
|
101
127
|
[RubyGems]: https://rubygems.org/gems/papertrail-cli
|
128
|
+
[colortail]: http://rubydoc.info/gems/colortail
|
129
|
+
[colortailrc]: https://github.com/papertrail/papertrail-cli/wiki/colortailrc
|
102
130
|
[MultiTail]: http://www.vanheusden.com/multitail/index.html
|
103
|
-
[colortail]: http://www.codaset.com/elubow/colortail
|
104
131
|
[escape characters]: http://en.wikipedia.org/wiki/ANSI_escape_code#Colors
|
data/bin/papertrail
CHANGED
@@ -37,7 +37,11 @@ class PapertrailSearch
|
|
37
37
|
YAML.load(f)
|
38
38
|
end
|
39
39
|
|
40
|
-
|
40
|
+
if credentials['token']
|
41
|
+
client = Papertrail::SearchClient.new(:token => credentials['token'])
|
42
|
+
else
|
43
|
+
client = Papertrail::SearchClient.new(:username => credentials['username'], :password => credentials['password'])
|
44
|
+
end
|
41
45
|
|
42
46
|
search_and_print(client)
|
43
47
|
|
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
password: yourpassword
|
1
|
+
token: 123456789012345678901234567890ab
|
data/lib/papertrail-cli.rb
CHANGED
@@ -4,11 +4,7 @@ require 'always_verify_ssl_certificates'
|
|
4
4
|
|
5
5
|
module Papertrail
|
6
6
|
class SearchClient
|
7
|
-
|
8
|
-
|
9
|
-
def initialize(username, password)
|
10
|
-
@username = username
|
11
|
-
@password = password
|
7
|
+
def initialize(options)
|
12
8
|
|
13
9
|
ssl_options = { :verify => OpenSSL::SSL::VERIFY_PEER }
|
14
10
|
|
@@ -21,7 +17,11 @@ module Papertrail
|
|
21
17
|
end
|
22
18
|
|
23
19
|
@conn = Faraday::Connection.new(:url => 'https://papertrailapp.com', :ssl => ssl_options) do |builder|
|
24
|
-
|
20
|
+
if options[:username] && options[:password]
|
21
|
+
builder.basic_auth(options[:username], options[:password])
|
22
|
+
else
|
23
|
+
builder.headers['X-Papertrail-Token'] = options[:token]
|
24
|
+
end
|
25
25
|
|
26
26
|
builder.adapter Faraday.default_adapter
|
27
27
|
builder.response :yajl
|
data/papertrail-cli.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'papertrail-cli'
|
16
|
-
s.version = '0.
|
17
|
-
s.date = '2011-
|
16
|
+
s.version = '0.7.0'
|
17
|
+
s.date = '2011-10-28'
|
18
18
|
s.rubyforge_project = 'papertrail-cli'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: papertrail-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
7
|
+
- 7
|
8
|
+
- 0
|
9
|
+
version: 0.7.0
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Papertrail
|
@@ -15,18 +14,16 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2011-
|
17
|
+
date: 2011-10-28 00:00:00 -07:00
|
19
18
|
default_executable: papertrail
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: yajl-ruby
|
23
22
|
prerelease: false
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
24
|
requirements:
|
27
25
|
- - ">="
|
28
26
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
27
|
segments:
|
31
28
|
- 0
|
32
29
|
version: "0"
|
@@ -36,11 +33,9 @@ dependencies:
|
|
36
33
|
name: faraday
|
37
34
|
prerelease: false
|
38
35
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
36
|
requirements:
|
41
37
|
- - ~>
|
42
38
|
- !ruby/object:Gem::Version
|
43
|
-
hash: 5
|
44
39
|
segments:
|
45
40
|
- 0
|
46
41
|
- 5
|
@@ -52,11 +47,9 @@ dependencies:
|
|
52
47
|
name: always_verify_ssl_certificates
|
53
48
|
prerelease: false
|
54
49
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
50
|
requirements:
|
57
51
|
- - ">="
|
58
52
|
- !ruby/object:Gem::Version
|
59
|
-
hash: 3
|
60
53
|
segments:
|
61
54
|
- 0
|
62
55
|
version: "0"
|
@@ -89,27 +82,23 @@ rdoc_options:
|
|
89
82
|
require_paths:
|
90
83
|
- lib
|
91
84
|
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
85
|
requirements:
|
94
86
|
- - ">="
|
95
87
|
- !ruby/object:Gem::Version
|
96
|
-
hash: 3
|
97
88
|
segments:
|
98
89
|
- 0
|
99
90
|
version: "0"
|
100
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
-
none: false
|
102
92
|
requirements:
|
103
93
|
- - ">="
|
104
94
|
- !ruby/object:Gem::Version
|
105
|
-
hash: 3
|
106
95
|
segments:
|
107
96
|
- 0
|
108
97
|
version: "0"
|
109
98
|
requirements: []
|
110
99
|
|
111
100
|
rubyforge_project: papertrail-cli
|
112
|
-
rubygems_version: 1.
|
101
|
+
rubygems_version: 1.3.6
|
113
102
|
signing_key:
|
114
103
|
specification_version: 2
|
115
104
|
summary: Command-line client for Papertrail hosted log management service.
|