# Copyright 2006 Instituto de Investigaciones Dr. José María Luis Mora / # Instituto de Investigaciones Estéticas. # See COPYING.txt and LICENSE.txt for redistribution conditions. # # D.R. 2006 Instituto de Investigaciones Dr. José María Luis Mora / # Instituto de Investigaciones Estéticas. # Véase COPYING.txt y LICENSE.txt para los términos bajo los cuales # se permite la redistribución. class CustomLogger include RJBM::JAccess j_interface('mx.org.pescador.CustomLoggerR') j_import('mx.org.pescador.CustomLoggerJ') def CustomLogger.info(m) RAILS_DEFAULT_LOGGER.info("#{Time.now}: #{m}") end def CustomLogger.error(m) RAILS_DEFAULT_LOGGER.error("#{Time.now}: #{m}") end def CustomLogger.write_tmp_n3(n3) tmp_n3_file_name = AppConfig.tmp_dir + "tmp.n3" CustomLogger.write_to_file(tmp_n3_file_name, n3) CustomLogger.info("Wrote RDF data temporary N3 file.") end def CustomLogger.write_tmp_text_bpv_csv(csv) tmp_csv_file_name = AppConfig.tmp_dir + "tmp_text_bpv.csv" CustomLogger.write_to_file(tmp_csv_file_name, csv) CustomLogger.info("Dumped Text BPVs to temporary CSV file.") end def CustomLogger.write_tmp_krr_csv(csv) tmp_csv_file_name = AppConfig.tmp_dir + "tmp_krr.csv" CustomLogger.write_to_file(tmp_csv_file_name, csv) CustomLogger.info("Dumped KRRs to temporary CSV file.") end def CustomLogger.write_extraction_trace_count(csv) tmp_etc_file_name = AppConfig.tmp_dir + "tmp_extr_trace_count.csv" CustomLogger.write_to_file(tmp_etc_file_name, csv) CustomLogger.info("Dumped extraction trace count to temporary CSV file.") end def CustomLogger.write_to_file(file_name, out_str) begin f = File.open(file_name, 'w') f << out_str rescue SystemCallError raise "IO error creating file: #{file_name}" ensure f.close unless f.nil? end end def initialize # instances of this object only used for access from Java j_bind end def info(m) # instance method assumes it is being caled from Java and receives a # rjb Java String object CustomLogger.info(m) end def error(m) # instance method assumes it is being caled from Java and receives a # rjb Java String object CustomLogger.error(m) end CustomLoggerJ.setRLoggerObj(self.new.j) end