
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
By this command line tool, you can run a python repl which logs everying into a file.
Install:
pip install logrepl
run the repl:
pylogrepl
then the whole repl will be logged to the file yyyymmddhhmm.log
.
You can also use logrepl
to log the whole stream io of a program by:
import logrepl
with logrepl.log_handler(
log_dir,
prefix,
err_acc_time # usually non-necessary
) as logrepl_handler:
# import modules and packages
# run your program here
# ...
Beware that you have to import all the modules and packages in the with
clause. If a logger of some module or package is initialized before the with
clause, logrepl
cannot modify its logging.StreamHandler
, then all the iniformation directed to that StreamHandler
will not be logged.
use the optional positional argument, for example:
pylogrepl prefix
then the log file will be prefix_yyyymmddhhmm.log
.
use the -d
or --dir
options:
pylogrepl -d "store/logs"
pylogrepl --dir "store/logs"
then the log file will be in the store/logs
directory.
We found that if something goes wrong in logrepl
, it may produce many highly repeatitive exceptions is a short time. To avoid getting overwhelmed by those error messages, logrepl
will collect them in a time interval and then print the non-duplicated ones. To set the time interval (although it should be non-necessary), use the '-t' or '--time' options:
pylogrepl -t 1.5
pylogrepl --time 1.5
the unit is in second.
You can also sepcify the prefix & the directory by making a .pylogrepl
in the working directory:
dir=logs
prefix=my_prefix
err_acc_time=1.5
note that the command line arguments are prioritized over the settings in .pylogrepl
. We recommend such an approach:
dir
in .pylogrepl
.prefix
by command line argumentsince you may want to change the prefix
frequently but not the dir
.
By executing pylogrepl
, the logrepl_handler
of class logrepl.Handler
will be loaded to the current namespace. The logrepl_handler
controls the logging behavior of the repl.
logrepl.Handler.set_dir(log_dir)
Update new logging dir. log_dir
must be string
or Path
. The suffix _yyyymmddhhmm.log
will also be updated while the prefix
will remain unchanged.
logrepl.Handler.set_prefix(prefix)
Update new prefix for the log file. prefix
sholud be str
or None
. The suffix _yyyymmddhhmm.log
will also be updated while the log_dir
will remain unchanged. Drop the prefix of new log file by setting prefix
as None
.
logrepl.Handler.update_suffix()
Update the timestamp suffix with log_dir
& prefix
unchanged.
logrepl.Handler.start_log()
Start logging to the file.
logrepl.Handler.stop_log()
Stop logging to the file.
logrepl.Handler.set_io()
To log everything of the repl, logrepl
modifies sys.stdin/stdout/stderr
& builtins.input
by this method.
logrepl.Handler.reset_io()
Reset sys.stdin/stdout/stderr
& builtins.input
as-is. The input to the repl wil stil be logged into the file after executing reset_io
.
Exceptions ocurred when writing to the log file will not be logged since it'll lead to infinite loop.
FAQs
By this command line tool, you can run a python repl which logs everying into a file.
We found that logrepl demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.