log4r 1.0.6 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/INSTALL +18 -0
  2. data/LICENSE +90 -0
  3. data/LICENSE.LGPLv3 +165 -0
  4. data/README +91 -0
  5. data/Rakefile +70 -0
  6. data/TODO +35 -0
  7. data/bin/CVS/Entries +7 -0
  8. data/bin/CVS/Repository +1 -0
  9. data/bin/CVS/Root +1 -0
  10. data/bin/README +8 -0
  11. data/bin/devconfig.rb +22 -0
  12. data/bin/makedist.rb +94 -0
  13. data/bin/makehtml.rb +71 -0
  14. data/bin/makerdoc.rb +30 -0
  15. data/bin/prune.rb +37 -0
  16. data/doc/CVS/Entries +5 -0
  17. data/doc/CVS/Repository +1 -0
  18. data/doc/CVS/Root +1 -0
  19. data/doc/content/CVS/Entries +6 -0
  20. data/doc/content/CVS/Repository +1 -0
  21. data/doc/content/CVS/Root +1 -0
  22. data/doc/dev/CVS/Entries +4 -0
  23. data/doc/dev/CVS/Repository +1 -0
  24. data/doc/dev/CVS/Root +1 -0
  25. data/doc/images/CVS/Entries +3 -0
  26. data/doc/images/CVS/Repository +1 -0
  27. data/doc/images/CVS/Root +1 -0
  28. data/doc/templates/CVS/Entries +2 -0
  29. data/doc/templates/CVS/Repository +1 -0
  30. data/doc/templates/CVS/Root +1 -0
  31. data/examples/CVS/Entries +17 -0
  32. data/examples/CVS/Repository +1 -0
  33. data/examples/CVS/Root +1 -0
  34. data/examples/syslogcustom.rb +47 -0
  35. data/src/CVS/Entries +2 -0
  36. data/src/CVS/Repository +1 -0
  37. data/src/CVS/Root +1 -0
  38. data/src/log4r.rb +2 -2
  39. data/src/log4r/CVS/Entries +14 -0
  40. data/src/log4r/CVS/Repository +1 -0
  41. data/src/log4r/CVS/Root +1 -0
  42. data/src/log4r/formatter/CVS/Entries +3 -0
  43. data/src/log4r/formatter/CVS/Repository +1 -0
  44. data/src/log4r/formatter/CVS/Root +1 -0
  45. data/src/log4r/lib/CVS/Entries +3 -0
  46. data/src/log4r/lib/CVS/Repository +1 -0
  47. data/src/log4r/lib/CVS/Root +1 -0
  48. data/src/log4r/outputter/CVS/Entries +12 -0
  49. data/src/log4r/outputter/CVS/Repository +1 -0
  50. data/src/log4r/outputter/CVS/Root +1 -0
  51. data/src/log4r/outputter/syslogoutputter.rb +57 -22
  52. data/src/log4r/rdoc/CVS/Entries +11 -0
  53. data/src/log4r/rdoc/CVS/Repository +1 -0
  54. data/src/log4r/rdoc/CVS/Root +1 -0
  55. data/src/tst.rb +21 -0
  56. data/tests/CVS/Entries +11 -0
  57. data/tests/CVS/Repository +1 -0
  58. data/tests/CVS/Root +1 -0
  59. metadata +93 -35
data/bin/CVS/Entries ADDED
@@ -0,0 +1,7 @@
1
+ /README/1.1.1.1/Fri Mar 19 03:30:59 2004//
2
+ /devconfig.rb/1.1.1.1/Fri Mar 19 03:30:59 2004//
3
+ /makedist.rb/1.1.1.1/Fri Mar 19 03:30:59 2004//
4
+ /makehtml.rb/1.1.1.1/Fri Mar 19 03:30:59 2004//
5
+ /makerdoc.rb/1.1.1.1/Fri Mar 19 03:30:59 2004//
6
+ /prune.rb/1.1.1.1/Fri Mar 19 03:30:59 2004//
7
+ D
@@ -0,0 +1 @@
1
+ log4r/bin
data/bin/CVS/Root ADDED
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
data/bin/README ADDED
@@ -0,0 +1,8 @@
1
+ How to build a release using these scripts:
2
+
3
+ 1. When running a script, be in bin/
4
+ 2. Edit devconfig.rb to match your setup
5
+ 3. Run each script without arguments to see how it's used
6
+ 4. 'ruby makedist.rb <version>' to build a distribution
7
+
8
+ These files work only on unix.
data/bin/devconfig.rb ADDED
@@ -0,0 +1,22 @@
1
+ # This is the developer's config file. Modify for your system.
2
+
3
+ # when testing, the CVS release tag is not used, allowing tuning of package
4
+ $test = true # set to false when final build is to be done
5
+ # cvs root (-d flag) to use -- don't forget to log in first!
6
+ $cvsroot = "-d:ext:fando@rubyforge.org:/var/cvs/log4r"
7
+ # prepdir is where the build process puts working files
8
+ $prepdir = '/home/cepheus/projects/prep'
9
+ # releasedir is where the final tarballs are put
10
+ $releasedir = '/home/cepheus/projects/releases'
11
+ # quiet = true sends most output to /dev/null
12
+ $quiet = false
13
+
14
+ # These are for removing unneeded developer files from the cvs co
15
+
16
+ # delete these directories from toplevel (except bin!)
17
+ $deletedirs = %w{
18
+ doc/content doc/templates doc/dev
19
+ }
20
+ # delete these files (needs path from toplevel)
21
+ $deletefiles = %w{
22
+ }
data/bin/makedist.rb ADDED
@@ -0,0 +1,94 @@
1
+ #!/usr/bin/ruby
2
+ #
3
+ # Run this file to prepare a distribution. Make sure the variables in
4
+ # devconfig.rb reflects your setup.
5
+ #
6
+ # Run from the bin directory and specify the version number as the first
7
+ # and only argument
8
+
9
+ require 'ftools'
10
+ require 'devconfig'
11
+
12
+ $cvsname = 'log4r' # name of log4r module, shouldn't be changed
13
+
14
+ # read version from input
15
+ if ARGV.size == 0
16
+ puts "Usage: makedist.rb <version>"
17
+ exit
18
+ end
19
+
20
+ $version = ARGV[0].split(".")
21
+ puts "makedist.rb: Building Log4r distribution #{$version.join '.'}"
22
+
23
+ ##### Rest is standard package config
24
+
25
+ $dotver = $version.join '.'
26
+ $dashver = $version.join '-'
27
+
28
+ $package = $cvsname + '-' + $dotver
29
+ $packagedash = $cvsname + '-' + $dashver
30
+ $tarball = $package + '.tgz'
31
+ $zipfile = $packagedash + '.zip'
32
+ $docball = $cvsname + '-doc-' + $dotver + '.tgz'
33
+ $projdir = $prepdir + "/" + $package
34
+
35
+ ##### Start program
36
+
37
+ # try the dirs out and die if they don't exist
38
+ unless File.directory? $prepdir
39
+ raise TypeError, "#{prepdir} is not a dir."
40
+ end
41
+ unless File.directory? $releasedir
42
+ raise TypeError, "#{releasedir} is not a dir."
43
+ end
44
+
45
+ # system commands
46
+ def run(cmd)
47
+ unless system cmd + ($quiet ? "> /dev/null 2>&1" : "")
48
+ raise RuntimeError, "unable to finish '#{cmd}'", caller
49
+ exit
50
+ end
51
+ end
52
+
53
+ puts "makedist.rb: checking out #{$cvsname}"
54
+ Dir.chdir $prepdir
55
+ # remove any previous instance of auto build
56
+ run "rm -rf #{$package}"
57
+
58
+ # check out the latest if testing, otherwise check out the cvstag version
59
+ system "cvs #{$cvsroot} co -d #{$package} #{$cvsname}"
60
+
61
+ Dir.chdir $package + "/bin"
62
+
63
+ # Now run each of the other files in bin to build documents and prune
64
+ # the cvs of junk for release
65
+ puts "makedist.rb: running makehtml.rb"
66
+ run "ruby makehtml.rb #{$dotver} #{$projdir}/doc"
67
+ puts "makedist.rb: runing prune.rb"
68
+ run "ruby prune.rb #{$projdir}"
69
+ puts "makedist.rb: running makerdoc.rb"
70
+ run "ruby makerdoc.rb #{$dotver} #{$projdir}/src #{$projdir}/doc"
71
+ puts "makedist.rb: removing #{$projdir}/bin"
72
+ run "rm -rf #{$projdir}/bin"
73
+
74
+ ### Release is ready, so zip it up
75
+
76
+ Dir.chdir $prepdir
77
+
78
+ puts "makedist.rb: making tarball"
79
+ run "tar -czf #{$tarball} #{$package}"
80
+ puts "makedist.rb: making zipfile"
81
+ run "zip -r #{$zipfile} #{$package}"
82
+ puts "makedist.rb: making documentation tarball"
83
+ run "tar -czvf #{$docball} #{$package}/doc"
84
+
85
+ puts "makedist.rb: moving results to #{$releasedir}"
86
+ File.mv $tarball, $releasedir
87
+ File.mv $zipfile, $releasedir
88
+ File.mv $docball, $releasedir
89
+
90
+ # make gemfile last
91
+ Dir.chdir $package
92
+ puts "makedist.rb: building gemfile in #{$releasedir}"
93
+ run "ruby log4r.gemspec"
94
+ File.mv $package + ".gem", $releasedir
data/bin/makehtml.rb ADDED
@@ -0,0 +1,71 @@
1
+ # Builds the html. Can be called independently
2
+ # For each page in ../doc/content, build the corresponding page
3
+ # using template from ../doc/templates
4
+
5
+ if ARGV.size == 0
6
+ puts "Usage: makehtml.rb <version> [path-to-docs]"
7
+ exit
8
+ end
9
+ Version = ARGV[0]
10
+
11
+ dir = (ARGV[1] or ".")
12
+ Targetdir = dir.chomp("/")
13
+
14
+ # paranoid validation
15
+ if not FileTest.directory? Targetdir
16
+ puts "First argument must be path to doc directory"
17
+ exit
18
+ end
19
+ if not FileTest.directory? File.join(Targetdir, "templates")
20
+ puts "Can't find doc/templates!"
21
+ exit
22
+ end
23
+ if not FileTest.directory? File.join(Targetdir, "content")
24
+ puts "Can't find doc/content!"
25
+ exit
26
+ end
27
+
28
+ Templates = Hash.new
29
+
30
+ def load(fname)
31
+ str = ""
32
+ IO.foreach(fname) {|line|
33
+ str += line
34
+ }
35
+ Templates[fname] = str
36
+ end
37
+
38
+ def parse(fname)
39
+ title, template, id, cont = nil, nil, nil, ""
40
+ IO.foreach(fname) {|line|
41
+ if title.nil? and line =~ /^Title:(.*)/
42
+ title = "<title>" + ($1).chomp.strip + "</title>"
43
+ elsif template.nil? and line =~ /^Template:\s*(\S+\.html)/
44
+ template = $1
45
+ elsif id.nil? and line=~ /^Id:(.*)/
46
+ id = $1
47
+ else
48
+ cont += line
49
+ end
50
+ }
51
+ temp = Templates[template].clone
52
+ temp.sub!("<!-- TITLE -->", title)
53
+ temp.sub!("<!-- CVSID -->", id)
54
+ # join the content with the template
55
+ temp.sub!("<!-- CONTENT -->", cont)
56
+ # replaces #{version} everywhere with Version
57
+ temp.gsub!('#{version}', Version)
58
+ out = File.new("../" + fname, "w+")
59
+ out.print temp
60
+ out.flush
61
+ out.close
62
+ end
63
+
64
+ Dir.chdir(File.join(Targetdir, "templates"))
65
+ Dir.foreach(".") {|fname|
66
+ load(fname) if fname =~ /html$/
67
+ }
68
+ Dir.chdir("../content")
69
+ Dir.foreach(".") {|fname|
70
+ parse(fname) if fname =~ /html$/
71
+ }
data/bin/makerdoc.rb ADDED
@@ -0,0 +1,30 @@
1
+ if ARGV.size == 0
2
+ puts "Usage: makerdoc.rb <version> [path-to-log4r.rb] [path-to-docs]"
3
+ exit
4
+ end
5
+
6
+ Version = ARGV[0]
7
+ Src = (ARGV[1] or ".").chomp("/")
8
+ Docs = File.join((ARGV[2] or ".").chomp("/"), "rdoc")
9
+
10
+ file = File.join(Src, "log4r.rb")
11
+ if not FileTest.exist? file
12
+ puts "Can't find log4r.rb in #{Src}!"
13
+ exit
14
+ end
15
+
16
+ def run(cmd)
17
+ unless system cmd
18
+ raise RuntimeError, "unable to finish '#{cmd}'", caller
19
+ exit
20
+ end
21
+ end
22
+
23
+ title = "#{Version} Log4r API"
24
+ run "cd #{Src}; rdoc --op #{Docs} --template kilmer --main log4r.rb --title '#{title}'"
25
+
26
+ # sub the version into the log4r_rb.html file
27
+ html = IO.readlines(Docs+"/files/log4r_rb.html")
28
+ f = File.open(Docs+"/files/log4r_rb.html", "w")
29
+ f.write((html.join).gsub!('#{version}', Version))
30
+ f.close
data/bin/prune.rb ADDED
@@ -0,0 +1,37 @@
1
+ # Cleans up a CVS co of log4r for distribution
2
+
3
+ require 'ftools'
4
+ require 'devconfig'
5
+
6
+ if ARGV.size != 1
7
+ puts "Usage: prune.rb <projectdir>"
8
+ exit
9
+ end
10
+
11
+ $projhome = (ARGV[0] or ".")
12
+ $echo = nil # change to "echo" if need to debug, otherwise nil
13
+
14
+ # recursively delete any such directory or file with rm -rf
15
+ recursedel = %w{ CVS }
16
+ # some dirs aren't checked out with -r, so create them
17
+ mkdirs = %w{ tests/logs examples/logs }
18
+
19
+ def run(cmd)
20
+ unless system cmd
21
+ raise RuntimeError, "unable to finish '#{cmd}'", caller
22
+ exit
23
+ end
24
+ end
25
+
26
+ Dir.chdir $projhome
27
+
28
+ for dir in recursedel
29
+ run "find . -name #{dir} -exec #{$echo} rm -rf {} \\; -prune"
30
+ end
31
+ for dir in $deletedirs
32
+ run "#{$echo} rm -rf #{dir}"
33
+ end
34
+ for file in $deletefiles
35
+ run "#{$echo} rm -f #{file}"
36
+ end
37
+ File.makedirs *mkdirs
data/doc/CVS/Entries ADDED
@@ -0,0 +1,5 @@
1
+ /log4r.css/1.1.1.1/Fri Mar 19 03:30:59 2004//
2
+ D/content////
3
+ D/dev////
4
+ D/images////
5
+ D/templates////
@@ -0,0 +1 @@
1
+ log4r/doc
data/doc/CVS/Root ADDED
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
@@ -0,0 +1,6 @@
1
+ /contact.html/1.1.1.1/Fri Mar 19 03:30:59 2004//
2
+ /contribute.html/1.1.1.1/Fri Mar 19 03:30:59 2004//
3
+ /index.html/1.1.1.1/Fri Mar 19 03:31:00 2004//
4
+ /license.html/1.1.1.1/Fri Mar 19 03:31:00 2004//
5
+ /manual.html/1.1.1.1/Fri Mar 19 03:31:02 2004//
6
+ D
@@ -0,0 +1 @@
1
+ log4r/doc/content
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
@@ -0,0 +1,4 @@
1
+ /README.developers/1.1.1.1/Fri Mar 19 03:31:02 2004//
2
+ /checklist/1.1.1.1/Fri Mar 19 03:31:02 2004//
3
+ /things-to-do/1.1.1.1/Fri Mar 19 03:31:02 2004//
4
+ D
@@ -0,0 +1 @@
1
+ log4r/doc/dev
data/doc/dev/CVS/Root ADDED
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
@@ -0,0 +1,3 @@
1
+ /log4r-logo.png/1.1.1.1/Fri Mar 19 03:31:04 2004/-kb/
2
+ /logo2.png/1.1.1.1/Fri Mar 19 03:31:05 2004/-kb/
3
+ D
@@ -0,0 +1 @@
1
+ log4r/doc/images
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
@@ -0,0 +1,2 @@
1
+ /main.html/1.1.1.1/Fri Mar 19 03:31:05 2004//
2
+ D
@@ -0,0 +1 @@
1
+ log4r/doc/templates
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
@@ -0,0 +1,17 @@
1
+ /README/1.1.1.1/Fri Mar 19 03:31:05 2004//
2
+ /customlevels.rb/1.1.1.1/Fri Mar 19 03:31:05 2004//
3
+ /fileroll.rb/1.1.1.1/Fri Mar 19 03:31:05 2004//
4
+ /log4r_yaml.yaml/1.1.1.1/Fri Mar 19 03:31:05 2004//
5
+ /logclient.rb/1.1.1.1/Fri Mar 19 03:31:05 2004//
6
+ /logserver.rb/1.1.1.1/Fri Mar 19 03:31:05 2004//
7
+ /moderate.xml/1.1.1.1/Fri Mar 19 03:31:05 2004//
8
+ /moderateconfig.rb/1.1.1.1/Fri Mar 19 03:31:05 2004//
9
+ /myformatter.rb/1.1.1.1/Fri Mar 19 03:31:05 2004//
10
+ /outofthebox.rb/1.1.1.1/Fri Mar 19 03:31:05 2004//
11
+ /rrconfig.xml/1.1.1.1/Fri Mar 19 03:31:06 2004//
12
+ /rrsetup.rb/1.1.1.1/Fri Mar 19 03:31:06 2004//
13
+ /simpleconfig.rb/1.1.1.1/Fri Mar 19 03:31:06 2004//
14
+ /xmlconfig.rb/1.1.1.1/Fri Mar 19 03:31:06 2004//
15
+ /yaml.rb/1.1.1.1/Fri Mar 19 03:31:06 2004//
16
+ /syslogcustom.rb/1.1/Wed Sep 23 06:09:17 2009//
17
+ D
@@ -0,0 +1 @@
1
+ log4r/examples
data/examples/CVS/Root ADDED
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
@@ -0,0 +1,47 @@
1
+ # Suppose we don't like having 5 levels named DEBUG, INFO, etc.
2
+ # Suppose we'd rather use 3 levels named Foo, Bar, and Baz.
3
+ # Suppose we'd like to use these with syslog
4
+ # Log4r allows you to rename the levels and their corresponding methods
5
+ # in a painless way and then map those to corrisponding syslog levels
6
+ # or have them all default to LOG_INFO
7
+ # This file provides an example
8
+
9
+ $: << '../src'
10
+
11
+ require 'log4r'
12
+ require 'log4r/configurator'
13
+ require 'log4r/formatter/patternformatter'
14
+ require 'log4r/outputter/syslogoutputter'
15
+ require 'syslog'
16
+ include Log4r
17
+ include Syslog::Constants
18
+
19
+ # This is how we specify our levels
20
+ Configurator.custom_levels "Foo", "Bar", "Baz"
21
+
22
+ l = Logger.new('custom levels')
23
+ slp = PatternFormatter.new( :pattern => '{%d} {%l} {%C} {%m}', :date_method => 'usec' )
24
+ sl = SyslogOutputter.new( 'sysloggertest',
25
+ { :logopt => LOG_CONS | LOG_PID | LOG_PERROR,
26
+ :facility => LOG_LOCAL7,
27
+ :formatter => slp } )
28
+ sl.map_levels_by_name_to_syslog( { "Foo" => "DEBUG", "Bar" => "INFO", "Baz" => "ALERT" } )
29
+ l.add sl
30
+
31
+ l.level = Foo
32
+ puts l.foo?
33
+ l.foo "This is foo"
34
+ puts l.bar?
35
+ l.bar "this is bar"
36
+ puts l.baz?
37
+ l.baz "this is baz"
38
+
39
+ puts "Now change to Baz"
40
+
41
+ l.level = Baz
42
+ puts l.foo?
43
+ l.foo {"This is foo"}
44
+ puts l.bar?
45
+ l.bar {"this is bar"}
46
+ puts l.baz?
47
+ l.baz {"this is baz"}
data/src/CVS/Entries ADDED
@@ -0,0 +1,2 @@
1
+ D/log4r////
2
+ /log4r.rb/1.2/Tue Sep 22 19:51:46 2009//
@@ -0,0 +1 @@
1
+ log4r/src
data/src/CVS/Root ADDED
@@ -0,0 +1 @@
1
+ :ext:colbygk@rubyforge.org:/var/cvs/log4r
data/src/log4r.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # == Other Info
4
4
  #
5
5
  # Author:: Leon Torres
6
- # Version:: $Id: log4r.rb,v 1.1.1.1 2004/03/19 03:31:06 fando Exp $
6
+ # Version:: $Id: log4r.rb,v 1.2 2009/09/22 19:51:46 colbygk Exp $
7
7
 
8
8
  require "log4r/outputter/fileoutputter"
9
9
  require "log4r/outputter/consoleoutputters"
@@ -13,5 +13,5 @@ require "log4r/formatter/patternformatter"
13
13
  require "log4r/loggerfactory"
14
14
 
15
15
  module Log4r
16
- Log4rVersion = [1, 0, 1].join '.'
16
+ Log4rVersion = [1, 1, 0].join '.'
17
17
  end