<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,6 +2,9 @@
 
 * rescue Process.eid NotImplementedError.
 * warn when Process.eid can't be changed.
+* read log level from config file.
+* change param name from Loglevel to LogLevel
+* add debug log.
 
 == 0.0.2 / 2008-11-03
 </diff>
      <filename>ChangeLog</filename>
    </modified>
    <modified>
      <diff>@@ -132,16 +132,27 @@ class Mocksmtpd
     puts &quot;done&quot;
   end
 
+  def create_logger(file = nil)
+    file = file.to_s.strip
+    file = nil if file.empty?
+    lvstr = @conf[:LogLevel].to_s.strip
+    lvstr = &quot;INFO&quot; unless %w{FATAL ERROR WARN INFO DEBUG}.include?(lvstr)
+    level = WEBrick::BasicLog.const_get(lvstr)
+    logger = WEBrick::Log.new(file, level)
+    logger.debug(&quot;Logger initialized&quot;)
+    return logger
+  end
+
   def start
     load_conf
-    @logger = WEBrick::Log.new(@logfile.to_s, WEBrick::BasicLog::INFO)
+    @logger = create_logger(@logfile)
     @daemon = true
     smtpd
   end
 
   def console
     load_conf
-    @logger = WEBrick::Log.new 
+    @logger = create_logger
     @daemon = false
     smtpd
   end
@@ -149,16 +160,19 @@ class Mocksmtpd
   def create_pid_file
     if @pidfile.exist?
       pid = @pidfile.read
-      @logger.warn(&quot;pid file already exists: #{pid}&quot;)
+      @logger.warn(&quot;pid file already exists: pid=#{pid}&quot;)
       exit 1
     end
+    pid = Process.pid
     open(@pidfile, &quot;w&quot;) do |io|
-      io &lt;&lt; Process.pid
+      io &lt;&lt; pid
     end
+    @logger.debug(&quot;pid file saved: pid=#{pid} file=#{@pidfile}&quot;)
   end
 
   def delete_pid_file
     File.delete(@pidfile)
+    @logger.debug(&quot;pid file deleted: file=#{@pidfile}&quot;)
   end
 
   def init_permission
@@ -170,6 +184,7 @@ class Mocksmtpd
       Process.egid = gid
       Process.euid = uid
     rescue NotImplementedError =&gt; e
+      @logger.debug(&quot;Process.euid= not implemented.&quot;)
     rescue Errno::EPERM =&gt; e
       @logger.warn(&quot;could not change euid/egid. #{e}&quot;)
     end
@@ -179,8 +194,8 @@ class Mocksmtpd
     start_cb = Proc.new do
       @logger.info(&quot;Inbox: #{@inbox}&quot;)
       if @daemon
-      	@logger.info(&quot;LogFile: #{@logfile}&quot;)
-      	@logger.info(&quot;PidFile: #{@pidfile}&quot;)
+        @logger.debug(&quot;LogFile: #{@logfile}&quot;)
+        @logger.debug(&quot;PidFile: #{@pidfile}&quot;)
       end
 
       begin
@@ -269,6 +284,7 @@ class Mocksmtpd
     open(mail[:path], &quot;w&quot;) do |io|
       io &lt;&lt; @templates[:mail].result(binding)
     end
+    @logger.debug(&quot;mail saved: #{mail[:path]}&quot;)
   end
 
   def save_index(mail)
@@ -286,6 +302,7 @@ class Mocksmtpd
     open(path, &quot;w&quot;) do |io|
       io &lt;&lt; htmlsrc
     end
+    @logger.debug(&quot;index saved: #{path}&quot;)
   end
 
 end</diff>
      <filename>lib/mocksmtpd.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
   s.email = %q{koseki@gmail.com}
   s.executables = [&quot;mocksmtpd&quot;]
   s.extra_rdoc_files = [&quot;README&quot;, &quot;ChangeLog&quot;]
-  s.files = [&quot;README&quot;, &quot;ChangeLog&quot;, &quot;Rakefile&quot;, &quot;bin/mocksmtpd&quot;, &quot;test/mocksmtpd_test.rb&quot;, &quot;test/test_helper.rb&quot;, &quot;lib/mocksmtpd.rb&quot;, &quot;lib/mocksmtpd.rb~&quot;, &quot;lib/smtpserver.rb&quot;, &quot;templates/html&quot;, &quot;templates/html/index.erb&quot;, &quot;templates/html/index.erb~&quot;, &quot;templates/html/index_entry.erb&quot;, &quot;templates/html/index_entry.erb~&quot;, &quot;templates/html/mail.erb&quot;, &quot;templates/html/mail.html.erb~&quot;, &quot;templates/mocksmtpd.conf.erb&quot;]
+  s.files = [&quot;README&quot;, &quot;ChangeLog&quot;, &quot;Rakefile&quot;, &quot;bin/mocksmtpd&quot;, &quot;test/mocksmtpd_test.rb&quot;, &quot;test/test_helper.rb&quot;, &quot;lib/mocksmtpd.rb&quot;, &quot;lib/smtpserver.rb&quot;, &quot;templates/html&quot;, &quot;templates/html/index.erb&quot;, &quot;templates/html/index_entry.erb&quot;, &quot;templates/html/mail.erb&quot;, &quot;templates/mocksmtpd.conf.erb&quot;]
   s.has_rdoc = true
   s.homepage = %q{http://github.com/koseki/mocksmtpd/}
   s.rdoc_options = [&quot;--title&quot;, &quot;mocksmtpd documentation&quot;, &quot;--charset&quot;, &quot;utf-8&quot;, &quot;--opname&quot;, &quot;index.html&quot;, &quot;--line-numbers&quot;, &quot;--main&quot;, &quot;README&quot;, &quot;--inline-source&quot;, &quot;--exclude&quot;, &quot;^(examples|extras)/&quot;]</diff>
      <filename>mocksmtpd.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ ServerName: mocksmtpd
 Port: 25
 RequestTimeout: 120
 LineLengthLimit: 1024
-Loglevel: INFO
+LogLevel: INFO
 
 LogFile: ./log/mocksmtpd.log
 PidFile: ./log/mocksmtpd.pid</diff>
      <filename>templates/mocksmtpd.conf.erb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>05fca8e3a53df22537ce098f93e8c1b1117668f7</id>
    </parent>
  </parents>
  <author>
    <name>KOSEKI Kengo</name>
    <email>koseki@gmail.com</email>
  </author>
  <url>http://github.com/koseki/mocksmtpd/commit/272d2a8f666c6b00dea6d8cf19d4883432f9458f</url>
  <id>272d2a8f666c6b00dea6d8cf19d4883432f9458f</id>
  <committed-date>2008-11-07T11:33:49-08:00</committed-date>
  <authored-date>2008-11-07T11:33:49-08:00</authored-date>
  <message>read log level from config file.</message>
  <tree>a1d4bb256f7f9e2959fd4cf5842383038b78a9f3</tree>
  <committer>
    <name>KOSEKI Kengo</name>
    <email>koseki@gmail.com</email>
  </committer>
</commit>
