zoukankan      html  css  js  c++  java
  • rails 写入日志函数

        json_object={
          "ip"=> "127.0.0.1",
          "ports"=> '80,135',
          "data"=>{"port"=>22,"item"=>["22","open","tcp","","ssh"]}
        }
        puts "json_object:#{ json_object.to_json}"
        write_log("nmapresult.log",json_object.to_json)
        Rails.logger.info("#{Time.now.strftime('%Y-%m-%d %H:%M:%S')} str:#{json_object.to_json}")
    
    
     # file_name 文件名称 foreign_ips.txt
      # data 要写入的数据 str
      def write_log(file_name,data)
        # /media/haima/34E401CC64DD0E28/site/go/src/ruby/fofapro/public/download
        log_dir = File.expand_path(File.join(Rails.root.to_s, 'log'))
        puts "write log success , logPath:#{log_dir}"
        FileUtils.mkdir_p(download_dir,:mode=>2750) unless File.exist?(log_dir)
        # /media/haima/34E401CC64DD0E28/site/go/src/ruby/rails_demo/log/file_name
        file_path = File.expand_path(File.join(log_dir, file_name))
        # 判断文件不存在创建,存在打开
        if !File.exist?(file_path)
          #读写模式。如果文件存在,则重写已存在的文件。如果文件不存在,则创建一个新文件用于读写。
          foreign_ip_file = File.new(file_path, "w+")
        else
          #读写模式。如果文件存在,则文件指针被放置在文件的末尾。也就是说,文件是追加模式。如果文件不存在,则创建一个新文件用于读写。
          foreign_ip_file = File.open(file_path, "a+")
        end
        foreign_ip_file.puts(data)
        foreign_ip_file.close
      end
    end
    


    解析json

        json='{"ip":"127.0.0.1","ports":"80,135","data":{"port":22,"item":["22","open","tcp","","ssh"]}}'
        str22 = JSON.parse(json)
        puts "str22 #{str22}"
        puts "str23 #{str22['ports']}"
    

    输入结果

    str22 {"ip"=>"127.0.0.1", "ports"=>"80,135", "data"=>[{"port"=>22, "item"=>["22", "open", "tcp", "", "ssh"]}]}
    str23 80,135
    
    [Haima的博客] http://www.cnblogs.com/haima/
  • 相关阅读:
    怎样简单编写一个html网页
    C# 委托实现冒泡排序
    C# 运算符
    EF 多表联查方法
    Log4net 配置文件
    vs调试 iis发布之后的项目
    继承 ,构造方法使用
    C#扩展方法
    partial 部分类
    WeakReference 弱引用
  • 原文地址:https://www.cnblogs.com/haima/p/14998019.html
Copyright © 2011-2022 走看看