log4r 1.0.6 → 1.1.0

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