module PWN::Plugins::Log

def self.append(opts = {})

)
PWN::Log.create(
Supported Method Parameters::
def self.append(opts = {})
l].to_s.downcase.to_sym
:which_self].to_s
.basename($PROGRAM_NAME)
exit gracefully if level == :error
false
me Format
-%m-%d %H:%M:%S.%N%z'
 log file
ing
Random.hex
"/tmp/pwn-ai-#{session}.json" if level == :learning
open(log_file_path, 'w')
'/tmp/pwn.log'
open(log_file_path, 'a')
og files where
,024,000 bytes
w(
rmat = datetime_str
ogger::DEBUG
ogger::ERROR
= true unless driver_name == 'pwn'
ee #{log_file_path} for more details." if driver_name == 'pwn'
ogger::FATAL
RROR: See #{log_file_path} for more details." if driver_name == 'pwn'
ing
ogger::INFO
ogger::UNKNOWN
ogger::WARN
RROR: Invalid log level. Valid options are:\n"
:debug\n:error\n:fatal\n:info\n:learning\n:unknown\n:warn\n"
r
ing
 = proc do |_severity, _datetime, _progname, learning_arr|
nerate(
a: learning_arr
ver: #{driver_name}"
of?(Interrupt)
 Logger::WARN
 == 'pwn'
 ' => CTRL+C Detected.'
 ' => CTRL+C Detected...Exiting Session.'
lly = true unless driver_name == 'pwn'
 => #{msg}"
_to?('backtrace') && !msg.instance_of?(Errno::ECONNRESET)
 " => \n\t#{msg.backtrace.join("\n\t")}"
 "\n\n\n"
level, log_event, which_self)
andardError => e

def self.authors

def self.authors
st.pentest@0dayinc.com>

def self.help

def self.help
.append(
ed - log verbosity :debug|:error|:fatal|:info|:learning|:unknown|:warn',
 - message to log',
equired - pass in self object from module calling #{self}'