colortail 0.1.3 → 0.1.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.
- data/Changelog.markdown +7 -1
- data/README.markdown +15 -2
- data/VERSION +1 -1
- data/colortail.gemspec +2 -2
- data/lib/colortail/application.rb +19 -2
- data/lib/colortail/configuration.rb +14 -2
- metadata +2 -2
data/Changelog.markdown
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
### colortail 0.1.
|
1
|
+
### colortail 0.1.4 2010-04-21
|
2
|
+
|
3
|
+
* CTRL-C now properly caught
|
4
|
+
* Threads are now cleaned properly
|
5
|
+
* List available groupings from the command line
|
6
|
+
|
7
|
+
### colortail 0.1.3 2010-04-19
|
2
8
|
|
3
9
|
* BUGFIX: Ensure config file exists before sourcing it
|
4
10
|
|
data/README.markdown
CHANGED
@@ -31,7 +31,7 @@ The full list of choices for colors and combinations are listed below.
|
|
31
31
|
* blue
|
32
32
|
* magenta - (purple-ish)
|
33
33
|
* cyan
|
34
|
-
*
|
34
|
+
* light gray
|
35
35
|
|
36
36
|
#### Attributes ####
|
37
37
|
|
@@ -42,6 +42,19 @@ The full list of choices for colors and combinations are listed below.
|
|
42
42
|
* reverse
|
43
43
|
* hidden - simply don't show the text
|
44
44
|
|
45
|
+
#### Additional Colors ####
|
46
|
+
|
47
|
+
To get the additional colorset listed below, use the **bright** attribute.
|
48
|
+
|
49
|
+
* dark gray (bright black)
|
50
|
+
* light blue (bright blue)
|
51
|
+
* light green (bright green)
|
52
|
+
* light cyan (bright cyan)
|
53
|
+
* light red (bright red)
|
54
|
+
* light purple (bright purle)
|
55
|
+
* yellow (bright brown)
|
56
|
+
* white (bright light gray)
|
57
|
+
|
45
58
|
### Configuration Example ###
|
46
59
|
|
47
60
|
The example given in the configuration file is good for tailing a syslog file that has lines that are naemd with their syslog level. There are a lot of potential uses. Check the wiki page of [example groupings](http://www.codaset.com/elubow/colortail/wiki/example-groupings) to see how others are using ColorTail.
|
@@ -60,7 +73,7 @@ The command below will tail the **/var/log/messages** file using the syslog grou
|
|
60
73
|
|
61
74
|
ColorTail intentionally does not die when a file specified on the command line doesn't exist.
|
62
75
|
|
63
|
-
##
|
76
|
+
## Additional Information ##
|
64
77
|
|
65
78
|
* Homepage: [http://www.codaset.com/elubow/colortail](http://www.codaset.com/elubow/colortail)
|
66
79
|
* Wiki: [Home](http://www.codaset.com/elubow/colortail/wiki)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/colortail.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{colortail}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Eric Lubow"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-21}
|
13
13
|
s.default_executable = %q{colortail}
|
14
14
|
s.description = %q{Tail a file and color lines based on regular expressions within that line. By setting up multiple expression and color groups in the configuration file, you can apply highlighting to a file while its being tailed.}
|
15
15
|
s.email = %q{eric@lubow.org}
|
@@ -25,7 +25,13 @@ module ColorTail
|
|
25
25
|
@match_group = config.load_opts(options[:group])
|
26
26
|
else
|
27
27
|
# Create this to ensure we always have a value for this array
|
28
|
-
@match_group = Array.
|
28
|
+
@match_group = Array.push( 'default' => [] )
|
29
|
+
end
|
30
|
+
|
31
|
+
# Display the list of available groups and exit
|
32
|
+
if options[:list]
|
33
|
+
config.display_match_groups()
|
34
|
+
return 1
|
29
35
|
end
|
30
36
|
|
31
37
|
logger = ColorTail::Colorize.new()
|
@@ -39,7 +45,6 @@ module ColorTail
|
|
39
45
|
logger.add_color_matcher( @match_group )
|
40
46
|
end
|
41
47
|
|
42
|
-
|
43
48
|
# Create a thread for each file
|
44
49
|
threads = []
|
45
50
|
files.each do |file|
|
@@ -53,6 +58,7 @@ module ColorTail
|
|
53
58
|
# Tail the file and show new lines
|
54
59
|
tailer.tail { |line| logger.log( file, line ) }
|
55
60
|
}
|
61
|
+
threads[files.index(file)].run
|
56
62
|
end
|
57
63
|
|
58
64
|
# Let the threads do their real work
|
@@ -60,10 +66,21 @@ module ColorTail
|
|
60
66
|
thread.join
|
61
67
|
end
|
62
68
|
|
69
|
+
# If we get a CTRL-C, catch it (rescue) and send it for cleanup
|
70
|
+
rescue Interrupt
|
71
|
+
cleanup(threads)
|
63
72
|
end
|
64
73
|
|
65
74
|
return 0
|
66
75
|
end
|
76
|
+
|
77
|
+
def cleanup(threads)
|
78
|
+
threads.each do |thread|
|
79
|
+
thread.kill
|
80
|
+
end
|
81
|
+
$stderr.puts "Terminating..."
|
82
|
+
exit
|
83
|
+
end
|
67
84
|
end
|
68
85
|
end
|
69
86
|
|
@@ -33,6 +33,13 @@ module ColorTail
|
|
33
33
|
end
|
34
34
|
return colorset
|
35
35
|
end
|
36
|
+
|
37
|
+
def display_match_groups()
|
38
|
+
puts "The following match groups are available through your config files:"
|
39
|
+
Groupings.each_key do |group|
|
40
|
+
puts " * #{group}"
|
41
|
+
end
|
42
|
+
end
|
36
43
|
end
|
37
44
|
|
38
45
|
class ComplexRecord < StandardError
|
@@ -52,17 +59,22 @@ module ColorTail
|
|
52
59
|
|
53
60
|
require 'optparse'
|
54
61
|
@opts = OptionParser.new do |o|
|
55
|
-
o.banner = "Usage: #{File.basename($0)} <
|
62
|
+
o.banner = "Usage: #{File.basename($0)} <file1> <file2> ..."
|
56
63
|
|
57
64
|
options[:group] = 'default'
|
58
65
|
o.on( '-g', '--group <group>', 'Specify the color grouping to use for these files' ) do |group|
|
59
66
|
options[:group] = group
|
60
67
|
end
|
61
68
|
|
69
|
+
options[:list] = false
|
70
|
+
o.on( '-l', '--list', 'List all the available color groupings' ) do |group|
|
71
|
+
options[:list] = true
|
72
|
+
end
|
73
|
+
|
62
74
|
o.separator ""
|
63
75
|
|
64
76
|
options[:conf] = "#{user_home}/.colortailrc"
|
65
|
-
o.on( '-c', '--conf <
|
77
|
+
o.on( '-c', '--conf <file>', 'Specify an alternate config file' ) do |file|
|
66
78
|
if File.exists?(file)
|
67
79
|
options[:conf] = file
|
68
80
|
else
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: colortail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Lubow
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-04-
|
12
|
+
date: 2010-04-21 00:00:00 -04:00
|
13
13
|
default_executable: colortail
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|