Log a line in my daily log.
Project description
Log a line in my daily log.
Latest release 20240305: Initial PyPI release.
This is an upgrade from my venerable shell script, whose logic was becoming unwieldy.
I more or less live in the shell, so I log activity with brief 1-line shell command commands eg:
dlog HOME: set up the whatchamgig
which I alias as dl
, with additional aliases like HOME
for dl HOME:
and so forth; as short a throwaway line as I can get away with.
In particular, I use this to make notes about work activity
(none of the several time tracking tools I've tried work for me)
and things like banking and purchases eg:
dl MYBANK,VENDOR: xfer \$99 to vendor for widget from bank acct rcpt 1234567
I've got scripts to pull out the work ones for making invoices
and an assortment of other scripts (eg my alert
script) also log via dlog
.
The current incarnation logs to a flat text file (default ~/var/dlog-quick
)
and to SQLTags
SQLite database.
It has a little daemon mode to reduce contention for the SQLite database too.
Class DLog
A log entry.
Function dlog(headline: str, *, logpath: Optional[str] = None, sqltags: Optional[cs.sqltags.SQLTags] = '~/var/sqltags.sqlite', tags=None, categories: Optional[Iterable] = None, when: Union[NoneType, int, float, datetime.datetime] = None)
Log headline
to the dlog.
Parameters:
headline
: the log line messagelogpath
: optional text log pathname, default~/var/log/dlog-quick
from DEFAULT_LOGPATHsqltags
: optionalSQLTags
instance, default uses~/var/sqltags.sqlite
from DEFAULT_DBPATHtags
: optional iterable ofTag
s to associate with the log entrycategories
: optional iterable of category stringswhen
: optional UNIX time ordatetime
, default now
Class DLogCommand(cs.cmdutils.BaseCommand)
The dlog
command line implementation.
Command line usage:
Usage: dlog subcommand [...]
Subcommands:
daemon [pipepath]
Listen on pipepath for new dlog messages.
This serialises contention for the database.
help [-l] [subcommand-names...]
Print help for subcommands.
This outputs the full help for the named subcommands,
or the short help for all subcommands if no names are specified.
-l Long help even if no subcommand-names provided.
log [{CATEGORIES:|tag=value}...] headline
Log headline to the dlog.
Options:
-c categories Alternate categories specification.
-d datetime Timestamp for the log entry instead of "now".
scan [{-|filename}]...
Scan log files and report.
shell
Run a command prompt via cmd.Cmd using this command's subcommands.
Function main(argv=None)
Run the dlog
command line implementation.
Release Log
Release 20240305: Initial PyPI release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cs.app.dlog-20240305-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 727b1535e4bb1403baae6252c344d4167b2d004bd8dd2923347ea3697f9111f1 |
|
MD5 | bd873a1966baa70d352c72c53f111c72 |
|
BLAKE2b-256 | fdb3b5772e653d94fd5af8983e6d03fc88552536f14dcb0273cc4c21dbac0b57 |