<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>bin/daemon-kit</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -48,6 +48,10 @@ using the silence helper:
     # logger will only report :error or higher levels
   end
 
+You can also set the logging per environment by editing the correct file in &lt;em&gt;config/environments&lt;/em&gt;
+
+  config.log_level = :debug
+
 === Changing log levels via UNIX signals
 
 Send your process the +USR1+ signal to toggle between &lt;em&gt;:debug&lt;/em&gt;</diff>
      <filename>Logging.txt</filename>
    </modified>
    <modified>
      <diff>@@ -26,7 +26,7 @@ app_generators/daemon_kit/templates/libexec/daemon.erb
 app_generators/daemon_kit/templates/script/console
 app_generators/daemon_kit/templates/script/destroy
 app_generators/daemon_kit/templates/script/generate
-bin/daemon_kit
+bin/daemon-kit
 daemon_generators/amqp/USAGE
 daemon_generators/amqp/amqp_generator.rb
 daemon_generators/amqp/templates/config/amqp.yml</diff>
      <filename>Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 
 For more information on daemon-kit, see http://kit.rubyforge.org/daemon-kit
 
-To get started quickly run 'daemon_kit' without any arguments
+To get started quickly run 'daemon-kit' without any arguments
 
 </diff>
      <filename>PostInstall.txt</filename>
    </modified>
    <modified>
      <diff>@@ -26,15 +26,15 @@ Supported generators:
 
 == Synopsis
 
-  $ daemon_kit -h
+  $ daemon-kit -h
 
 Get some help
 
-  $ daemon_kit [/path/to/your/daemon] [options]
+  $ daemon-kit [/path/to/your/daemon] [options]
 
 The above command generates a skeleton daemon environment for you to adapt.
 
-  $ daemon_kit [/path/to/your/daemon] -i jabber
+  $ daemon-kit [/path/to/your/daemon] -i jabber
 
 Use the 'jabber' generator instead of the default one.
 
@@ -46,23 +46,23 @@ The default generator creates a simple daemon with an infinite loop inside that
 
 === Jabber Generator
 
-The jabber generator creates a simple daemon that leverages the &quot;xmpp4r-simple&quot;:http://xmpp4r-simple.rubyforge.org/ gem to process inbound messages. The daemon will manage the roster and other little tasks, leaving you to provide the hooks for processing messages, presence notifications and subscription request.
+The jabber generator creates a simple daemon that leverages the xmpp4r-simple[http://xmpp4r-simple.rubyforge.org/] gem to process inbound messages. The daemon will manage the roster and other little tasks, leaving you to provide the hooks for processing messages, presence notifications and subscription request.
 
 === Cron Generator
 
-The cron generator creates a simple daemon that leverages the &quot;rufus-scheduler&quot;:http://github.com/jmettraux/rufus-scheduler gem to create a simple cron-lie daemon. Please be aware that this daemon could never be a replacement for the battle-tested &quot;cron utility&quot;:http://www.gentoo.org/doc/en/cron-guide.xml shipped standard with most *nix distributions.
+The cron generator creates a simple daemon that leverages the rufus-scheduler[http://github.com/jmettraux/rufus-scheduler] gem to create a simple cron-lie daemon. Please be aware that this daemon could never be a replacement for the battle-tested cron[http://www.gentoo.org/doc/en/cron-guide.xml] utility shipped standard with most *nix distributions.
 
 === AMQP Consumer Generator
 
-The AMQP generator creates a simple daemon that has all the stub code and configuration in place to help you write AMQP consumers quickly and effectively. The generated daemon relies on the presence of the &quot;amqp&quot;:http://github.com/tmm1/amqp gem.
+The AMQP generator creates a simple daemon that has all the stub code and configuration in place to help you write AMQP consumers quickly and effectively. The generated daemon relies on the presence of the amqp[http://github.com/tmm1/amqp] gem.
 
 === Nanite Agent Generator
 
-The &quot;nanite&quot;:http://github.com/ezmobius/nanite agent generator gets you up and running with nanite agents very quickly.
+The nanite[http://github.com/ezmobius/nanite] agent generator gets you up and running with nanite agents very quickly.
 
 === ruote Remote Participants
 
-The &quot;ruote&quot;:http://openwfe.rubyforge.org remote participant generator speeds up the development of workflow participants that run outside of the Ruby process that houses the engine. Daemon-kit handles all the communication and delegation logic, allowing you to focus purely on your participant's activities.
+The ruote[http://openwfe.rubyforge.org] remote participant generator speeds up the development of workflow participants that run outside of the Ruby process that houses the engine. Daemon-kit handles all the communication and delegation logic, allowing you to focus purely on your participant's activities.
 
 == Requirements
 </diff>
      <filename>README.rdoc</filename>
    </modified>
    <modified>
      <diff>@@ -10,24 +10,24 @@ Hoe.plugin :website
 
 # Generate all the Rake tasks
 # Run 'rake -T' to see list of generated tasks (from gem root directory)
-$hoe = Hoe.spec('daemon-kit') do |p|
-  p.summary = 'Daemon Kit aims to simplify creating Ruby daemons by providing a sound application skeleton (through a generator), task specific generators (jabber bot, etc) and robust environment management code.'
-  p.developer('Kenneth Kalmer', 'kenneth.kalmer@gmail.com')
-  p.changes              = p.paragraphs_of(&quot;History.txt&quot;, 0..1).join(&quot;\n\n&quot;)
-  p.post_install_message = IO.read( 'PostInstall.txt' ) # TODO remove if post-install message not required
-  p.rubyforge_name       = 'kit' # TODO this is default value
-  p.extra_deps = [
+$hoe = Hoe.spec('daemon-kit') do
+  self.summary = 'Daemon Kit aims to simplify creating Ruby daemons by providing a sound application skeleton (through a generator), task specific generators (jabber bot, etc) and robust environment management code.'
+  self.developer('Kenneth Kalmer', 'kenneth.kalmer@gmail.com')
+  #self.changes              = p.paragraphs_of(&quot;History.txt&quot;, 0..1).join(&quot;\n\n&quot;)
+  self.post_install_message = IO.read( 'PostInstall.txt' ) # TODO remove if post-install message not required
+  self.rubyforge_name       = 'kit' # TODO this is default value
+  self.extra_deps = [
                   ['rubigen', '&gt;= 1.5.2'],
                   ['eventmachine', '&gt;=0.12.8']
                  ]
-  p.extra_dev_deps = [
+  self.extra_dev_deps = [
                       ['newgem', &quot;&gt;= #{::Newgem::VERSION}&quot;]
                      ]
 
-  p.clean_globs |= %w[**/.DS_Store tmp *.log]
-  path = (p.rubyforge_name == p.name) ? p.rubyforge_name : &quot;\#{p.rubyforge_name}/\#{p.name}&quot;
-  p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
-  p.rsync_args = '-av --delete --ignore-errors'
+  self.clean_globs |= %w[**/.DS_Store tmp *.log]
+  path = (self.rubyforge_name == self.name) ? self.rubyforge_name : &quot;\#{p.rubyforge_name}/\#{p.name}&quot;
+  self.remote_rdoc_dir = File.join(path.gsub(/^#{self.rubyforge_name}\/?/,''), 'rdoc')
+  self.rsync_args = '-av --delete --ignore-errors'
 end
 
 require 'newgem/tasks' # load /tasks/*.rake</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -2,19 +2,13 @@
 
 This is purely a drop in the bucket of what has to come...
 
-== Eye on 0.2
-
-* Support for dropping privileges
 * Support for chroot'ing
 * Altering process names (fully and temporary appending)
 * bleak_house support
 * Support for tweaking REE environment variables prior to launch (bash wrapper)
 * Clustering support (run multiple workers out of same project)
-* Full 1.9 support in the framework
-
-== Later
-
 * [IN PROGRESS] Error handling to the degree Rails does
+  * Support for custom error handlers in the project
 * Easy configuration of an ORM of choice, including patching it if needed (ActiveRecord *cough*)
 * Improved generators for creating skeleton daemons:
   * Evented jabber bot
@@ -28,10 +22,7 @@ This is purely a drop in the bucket of what has to come...
 * Integration tests for the specific daemons
 * Some level of thread safety, or mechanisms to ease thread safety
 * Built in utilities:
-  * Thread pool for 1.8
   * Fibre pool for 1.9
   * Some activesupport-esque functions until activesupport 3.0 hits the streets
 * DRY up the following:
   * Loading configuration files for the daemons
-
-* DON'T FORGET 1.9 SUPPORT</diff>
      <filename>TODO.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,5 @@
 # This is the same context as the environment.rb file, it is only
 # loaded afterwards and only in the production environment
+
+# Change the production log level to debug
+#config.log_level = :debug</diff>
      <filename>app_generators/daemon_kit/templates/config/environments/production.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,7 +18,7 @@ $:.unshift( File.dirname(__FILE__).to_absolute_path ) unless
   $:.include?( File.dirname(__FILE__).to_absolute_path )
 
 module DaemonKit
-  VERSION = '0.1.7.10'
+  VERSION = '0.2.0'
 
   autoload :Initializer,    'daemon_kit/initializer'
   autoload :Application,    'daemon_kit/application'</diff>
      <filename>lib/daemon_kit.rb</filename>
    </modified>
    <modified>
      <diff>@@ -63,6 +63,12 @@ module DaemonKit
       end
     end
 
+    # Write unformatted message to logging device, mostly useful for Logger interface
+    # compatibility and debugging soap4r (possibly others)
+    def &lt;&lt;( msg ) #:nodoc:
+      self.logger.write( msg ) if self.logger &amp;&amp; self.logger.respond_to?( :write )
+    end
+
     def debug( msg )
       add( :debug, msg )
     end</diff>
      <filename>lib/daemon_kit/abstract_logger.rb</filename>
    </modified>
    <modified>
      <diff>@@ -252,7 +252,7 @@ module DaemonKit
     attr_accessor :logger
 
     # The log level to use, defaults to DEBUG
-    attr_accessor :log_level
+    attr_reader :log_level
 
     # Path to the log file, defaults to 'log/&lt;environment&gt;.log'
     configurable :log_path
@@ -286,7 +286,7 @@ module DaemonKit
 
     # Our safety net (#Safety) instance
     attr_accessor :safety_net
-    
+
     # :nodoc: Shutdown hooks
     attr_reader :shutdown_hooks
 
@@ -344,6 +344,12 @@ module DaemonKit
       @pid_file ||= &quot;#{File.dirname(self.log_path)}/#{self.daemon_name}.pid&quot;
     end
 
+    # Set the log level
+    def log_level=( level )
+      @log_level = level
+      DaemonKit.logger.level = @log_level if DaemonKit.logger
+    end
+
     protected
 
     def run_traps( signal )</diff>
      <filename>lib/daemon_kit/initializer.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>bin/daemon_kit</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>9df24dcb5194edde47c8935b5a5970dd9f1f939d</id>
    </parent>
    <parent>
      <id>22ab37e97d3d1d3d029facbb909418d9b9b32d5d</id>
    </parent>
  </parents>
  <author>
    <name>Kenneth Kalmer</name>
    <email>kenneth.kalmer@gmail.com</email>
  </author>
  <url>http://github.com/kennethkalmer/daemon-kit/commit/98c88d36748640b4d9710046399ff6a588479c1d</url>
  <id>98c88d36748640b4d9710046399ff6a588479c1d</id>
  <committed-date>2009-09-16T12:30:29-07:00</committed-date>
  <authored-date>2009-09-16T12:30:29-07:00</authored-date>
  <message>Merge branch 'master' into skaar-master

Conflicts:
	Manifest.txt</message>
  <tree>add2968286a72a6f0176cf8c2daeb9e4a7081c9e</tree>
  <committer>
    <name>Kenneth Kalmer</name>
    <email>kenneth.kalmer@gmail.com</email>
  </committer>
</commit>
