<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -9,13 +9,16 @@ require 'bluecloth'
 require 'bio'
 require 'spec'
 require 'spec/rake/spectask'
+require 'needle'
 
-LOGGER = Logger.new('log/analysis.log')
-
-class DataMapper::Base
-  @@logger = Logger.new('log/analysis.log')
+class Needle::Registry
+  include Singleton
 end
 
+r = Needle::Registry.instance
+r.register(:config) { YAML::load(File.open(File.dirname(__FILE__) + '/config.yml')) }
+r.register(:logger) { Logger.new(r.config['log']['analysis']) }
+
 # Load and set up eat of the different databases
 YAML::load(File.open(File.dirname(__FILE__) + '/database.yml')).each do |key,value|
   DataMapper::Database.setup(key.to_sym,value)</diff>
      <filename>config/environment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,13 +21,14 @@ class Alignment &lt; DataMapper::Base
 
     cerevisiae_gene = self.find_yeast_gene_name(entry)
     if cerevisiae_gene.nil?
-      @@logger.warn &quot;Load alignment: No yeast ORF found in #{self.find_first_entry(entry)} alignment&quot;
+      Needle::Registry.instance[:logger].warn(
+        &quot;Load alignment: No yeast ORF found in #{self.find_first_entry(entry)} alignment&quot;)
       return
     end
 
     gene = Gene.first(:name =&gt; cerevisiae_gene)
     if gene.nil?
-      @@logger.warn &quot;Load alignment: #{cerevisiae_gene} is not a verified ORF&quot;
+      Needle::Registry.instance[:logger].warn &quot;Load alignment: #{cerevisiae_gene} is not a verified ORF&quot;
       return 
     end
 
@@ -40,12 +41,10 @@ class Alignment &lt; DataMapper::Base
       align.save!
       return align
     else
-      align.errors.each {|error| @@logger.warn &quot;#{gene.name} : #{error}&quot;}
+      align.errors.each {|error| Needle::Registry.instance[:logger].warn &quot;#{gene.name} : #{error}&quot;}
       return
     end
 
-    
-
   end
 
   def self.find_yeast_gene_name(alignment)</diff>
      <filename>model/alignment.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,8 @@
 require File.dirname(__FILE__) + '/config/environment.rb'
 
-config = YAML::load(File.open(File.dirname(__FILE__) + '/config/config.yml'))
+config = Needle::Registry.instance[:config]
 
-Ramaze::Log.loggers &lt;&lt; Ramaze::Informer.new(config['www_log'])
+Ramaze::Log.loggers &lt;&lt; Ramaze::Informer.new(config['log']['www'])
 
 if config['path_rewrite']
   path_re = Regexp.new(config['path_rewrite'])</diff>
      <filename>start.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c7e456c9e607dd35d13ed8d5a523cb63dea96011</id>
    </parent>
  </parents>
  <author>
    <name>Michael Barton</name>
    <email>mail@michaelbarton.me.uk</email>
  </author>
  <url>http://github.com/michaelbarton/cost_in_evolution/commit/4737180d33dad6113796c09bf9709f775e12e333</url>
  <id>4737180d33dad6113796c09bf9709f775e12e333</id>
  <committed-date>2008-05-29T03:20:57-07:00</committed-date>
  <authored-date>2008-05-29T03:20:57-07:00</authored-date>
  <message>Used needle to manage dependencies across project. Set up logger as service

Switch start.rb and alignment.rb to get logger from service instead.</message>
  <tree>6b822a5a458b81c9b7db58ae62b2c6a8475a45a0</tree>
  <committer>
    <name>Michael Barton</name>
    <email>mail@michaelbarton.me.uk</email>
  </committer>
</commit>
