Sha256: 8aa8803e63383fe81144d0e4858fcb7fb3c1c796fb722909b35d9830b21aa047

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

# Copyright (c) 2013-2016 SUSE LLC
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 3 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, contact SUSE LLC.
#
# To contact SUSE about this file by physical or electronic mail,
# you may find current contact information at www.suse.com

module Machinery
  @@logger = nil

  def self.initialize_logger(log_file)
    # We rotate one old log file of 21 MB
    if File.exists?(log_file) && File.size(log_file) > 21*1024*1024
      rotated_file = log_file + ".0"
      FileUtils.rm(rotated_file) if File.exists?(rotated_file)
      FileUtils.mv(log_file, rotated_file)
    end

    if !File.exists?(log_file)
      dirname = File.dirname(log_file)
      if !Dir.exists?(dirname)
        FileUtils.mkdir_p(dirname)
        File.chmod(0700, dirname)
      end
      FileUtils.touch(log_file)
      FileUtils.chmod(0600, log_file)
    end

    @@logger = Logger.new(log_file)
  end

  def self.logger
    initialize_logger(DEFAULT_LOG_FILE) unless @@logger

    @@logger
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
machinery-tool-1.18.0 lib/machinery_logger.rb