GTK and Python based, system performance and usage monitoring tool

Overview

System Monitoring Center

GTK3 and Python 3 based, system performance and usage monitoring tool.

Platform (GNU/Linux) Download System Monitoring Center GitHub all releases GitHub release (latest by date)

Download System Monitoring Center

Download System Monitoring Center

Packaging status

Features:

  • Detailed system performance and usage usage monitoring/managing features:
    • Monitoring CPU, RAM, Disk, Network, GPU, Sensor hardware information/performance/usage
    • An always on top and semi-transparent floating summary window for performance monitoring
    • Monitoring and managing processes, users, storage devices, startup applications, services (systemd) and environment variables
    • Monitoring general system information
  • Customization options per-tab
  • Low system resource usage while monitoring
  • Language support (more languages will be added if translations are provided by contributors):
    • English, Turkish
  • Provides help information when mouse hover action is performed on several GUI objects
  • Adapts to system theme
  • Free and open sourced

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

System Monitoring Center

Dependencies:

  • Python 3 (Programming language)
  • GTK3 (GUI)
  • python3-opengl (for FPS counting)

Status:

  • The application is in Beta stage and there may be bugs to be fixed. Also settings of System Monitoring Center may be reset (very rare).
Comments
  • Multiple bugs on ARM systems and installation on Ubuntu 18

    Multiple bugs on ARM systems and installation on Ubuntu 18

    Edits: I've decided to edit this post to list the unfixed and fixed issues mentioned in this issue: Fixed:

    • computer model name for systems with devicetrees
    • usb network adapters
    • support for system services located at /lib/systemd/system
    • disk mount when multiple mounts exist in a single partition
    • support for python 3.6, hw.ids (instead of pci.ids) for support on older debian/ubuntu, gtk 3.22, util-linux 2.31
    • graphs and other UI elements no longer freeze if tab experiences an error on loading
    • gpu vendor/name for devices that use /sys/devices/gpu.0/modalias
    • gpu tab missing memory/rendering/driver/opengl info for /sys/devices/gpu.# devices

    current issues:

    • cpu name is not the best for ARM cpus (now tracking in the https://github.com/hakandundar34coding/system-monitoring-center/tree/draft)

    Original Post: bionic has gtk 3.22, no package for pci.ids, python3.6, and util-linux 2.31

    all of these are problematic for the source of this repo or the debian control file.

    lowing these requirements in the debian control file and rebuilding with version="3.24"/> replaced with version="3.22"/> almost everything works. /usr/share/misc/pci.ids is provided by pciutils in debian buster and bionic

    the only things that don't work are the network and gpu tabs. the gpu tab is broken because I am testing this on a jetson tegra x1, with the nvidia drivers and it does not use /dev/dri so errors like this are output and the rest of the UI on the other tabs breaks:

      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 189, in on_main_gui_tab_radiobuttons_toggled
        self.main_gui_tab_switch_func()
      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 307, in main_gui_tab_switch_func
        from Gpu import Gpu
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 403, in <module>
        Gpu = Gpu()
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 52, in __init__
        self.gpu_initial_func()
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 168, in gpu_initial_func
        self.gpu_get_gpu_list_and_set_selected_gpu_func()
      File "/usr/share/system-monitoring-center/src/Gpu.py", line 348, in gpu_get_gpu_list_and_set_selected_gpu_func
        self.gpu_list = [gpu_name for gpu_name in os.listdir("/dev/dri/") if gpu_name.rstrip("0123456789") == "card"]
    FileNotFoundError: [Errno 2] No such file or directory: '/dev/dri/'
    

    networking breaks with this error:

    Traceback (most recent call last):
      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 189, in on_main_gui_tab_radiobuttons_toggled
        self.main_gui_tab_switch_func()
      File "/usr/share/system-monitoring-center/src/MainGUI.py", line 293, in main_gui_tab_switch_func
        from Network import Network
      File "/usr/share/system-monitoring-center/src/Network.py", line 321, in <module>
        Network = Network()
      File "/usr/share/system-monitoring-center/src/Network.py", line 49, in __init__
        self.network_initial_func()
      File "/usr/share/system-monitoring-center/src/Network.py", line 173, in network_initial_func
        with open("/sys/class/net/" + selected_network_card + "/device/vendor") as reader:
    FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/net/enx0050b62942ef/device/vendor'
    

    note I'm using a perfectly functional usb network card. this folder exits /sys/class/net/enx0050b62942ef/device , there just isn't a vendor file in there

    opened by theofficialgman 63
  • Improvements for emmc/sd devices, GPU tab and .deb packaging

    Improvements for emmc/sd devices, GPU tab and .deb packaging

    copying the relevant info over to this independent issue https://github.com/hakandundar34coding/system-monitoring-center/issues/40#issuecomment-1081259315:

    Vendor information can be get for MMC devices by using some files. Can you write output of this command: grep . /sys/class/block/mmcblk0/device/*

    grep . /sys/class/block/mmcblk0/device/*
    grep: /sys/class/block/mmcblk0/device/block: Is a directory
    /sys/class/block/mmcblk0/device/cid:035344534e35313280fff7b17b015700
    /sys/class/block/mmcblk0/device/csd:400e0032db79000ee5b77f800a404000
    /sys/class/block/mmcblk0/device/date:07/2021
    grep: /sys/class/block/mmcblk0/device/driver: Is a directory
    /sys/class/block/mmcblk0/device/dsr:0x404
    /sys/class/block/mmcblk0/device/erase_size:512
    /sys/class/block/mmcblk0/device/error_stats:0
    /sys/class/block/mmcblk0/device/fwrev:0x0
    /sys/class/block/mmcblk0/device/hwrev:0x8
    /sys/class/block/mmcblk0/device/ios_timing:timing spec:	6 (sd uhs SDR104)
    /sys/class/block/mmcblk0/device/manfid:0x000003
    /sys/class/block/mmcblk0/device/name:SN512
    /sys/class/block/mmcblk0/device/ocr:0x00200000
    /sys/class/block/mmcblk0/device/oemid:0x5344
    grep: /sys/class/block/mmcblk0/device/power: Is a directory
    /sys/class/block/mmcblk0/device/preferred_erase_size:4194304
    /sys/class/block/mmcblk0/device/scr:0245848700000000
    /sys/class/block/mmcblk0/device/serial:0xfff7b17b
    /sys/class/block/mmcblk0/device/speed_class:4
    /sys/class/block/mmcblk0/device/ssr:0000000008000000040090000f05391e000800000002fc0003000000000000000000000000000000000000000000000000000000000000000000000000000000
    grep: /sys/class/block/mmcblk0/device/subsystem: Is a directory
    /sys/class/block/mmcblk0/device/type:SD
    /sys/class/block/mmcblk0/device/uevent:DRIVER=mmcblk
    /sys/class/block/mmcblk0/device/uevent:MMC_TYPE=SD
    /sys/class/block/mmcblk0/device/uevent:MMC_NAME=SN512
    /sys/class/block/mmcblk0/device/uevent:MODALIAS=mmc:block
    

    this is a sandisk card, decoding the ID should come back to that.

    opened by theofficialgman 55
  • Raspberry Pi specific improvements

    Raspberry Pi specific improvements

    Raspberry Pi operating systems include a command called vcgencmd, which can obtain device-specific information that is not reflected in more global locations. While ideally a system monitor should be able to rely on standardized locations for parameters, that simply is not the case in the ARM world. (Maybe in 5 years...)

    Link to vcgencmd documentation

    Here are the specific ways in which System-Monitoring-Center can use vcgencmd:

    • To determine total RAM on the device, regardless of CPU allocation: vcgencmd get_config total_mem Example output: total_mem=8192 (in megabytes)
    • To determine memory allocated to the GPU: vcgencmd get_mem gpu Example output: gpu=128M (in megabytes)
    • To determine GPU frequency: vcgencmd get_config gpu_freq Example output: gpu_freq=700 (in megahertz)

    Also I found a possible way to determine L1/L2/L3 cache size, but it involves compiling a kernel module. :( This is probably more trouble than it's worth, but is still interesting to document.

    opened by Botspot 32
  • Don't show loop and ramdisk devices by default

    Don't show loop and ramdisk devices by default

    It's better if loop devices don't show by default in Performance tab --> Disk

    Loop devices /dev/loop* are usually squashfs or iso files (read only).

    Thanks.

    opened by babam86 22
  • No graphics after installing from pip version?

    No graphics after installing from pip version?

    I installed the program via pip ... and unfortunately I have some errors, i.e. no graphics, icons in the program? Previously it was OK if I was installing from .deb However, I wanted to be able to do a simple upgrade ... can I somehow fix / install some packages ??? 2 1 Ps.I restarted the system ... and the option did not help either touch ~/.local/share/*

    opened by ski007 16
  • Disk Usage Of Parent Disk And Disk Model For NVMe SSDs Are Not Shown

    Disk Usage Of Parent Disk And Disk Model For NVMe SSDs Are Not Shown

    Disk tab automatically selects the home partition, which results, at least with my SSD, in no metrics displayed. Metrics are displayed correctly upon selecting the DDS device e.g nvme0n1 instead of nvme0n1p6, which was selected by default. - Screenshot and debug message:

    Traceback (most recent call last):
      File "/usr/share/system-monitoring-center/src/Disk.py", line 271, in disk_loop_func
        disk_get_device_partition_model_name_mount_point_func()
      File "/usr/share/system-monitoring-center/src/Disk.py", line 385, in disk_get_device_partition_model_name_mount_point_func
        with open("/sys/class/block/" + parent_disk + "/device/model") as reader:
    FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/block/nvme0n1p/device/model'
    

    Additional information:

    [[email protected] ~]$ ls /sys/class/block/
    total 0
    drwxr-xr-x.  2 root root 0 Dec  2 14:30 ./
    drwxr-xr-x. 76 root root 0 Dec  2 13:47 ../
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p1 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p1/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p2 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p2/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p3 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p3/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p4 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p4/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p5 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p5/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p6 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p6/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 nvme0n1p7 -> ../../devices/pci0000:00/0000:00:02.4/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p7/
    lrwxrwxrwx.  1 root root 0 Dec  2 14:30 zram0 -> ../../devices/virtual/block/zram0/
    
    [[email protected] ~]$ cat /proc/mounts 
    proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
    sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=7859896k,nr_inodes=1964974,mode=755,inode64 0 0
    securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
    tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev,inode64 0 0
    devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
    tmpfs /run tmpfs rw,seclabel,nosuid,nodev,size=3168180k,nr_inodes=819200,mode=755,inode64 0 0
    cgroup2 /sys/fs/cgroup cgroup2 rw,seclabel,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
    pstore /sys/fs/pstore pstore rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
    none /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
    /dev/nvme0n1p6 / btrfs rw,seclabel,relatime,compress=zstd:1,ssd,space_cache,subvolid=257,subvol=/root 0 0
    selinuxfs /sys/fs/selinux selinuxfs rw,nosuid,noexec,relatime 0 0
    systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=28223 0 0
    mqueue /dev/mqueue mqueue rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    debugfs /sys/kernel/debug debugfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    tracefs /sys/kernel/tracing tracefs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
    hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime,pagesize=2M 0 0
    fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
    configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
    /dev/nvme0n1p6 /home btrfs rw,seclabel,relatime,compress=zstd:1,ssd,space_cache,subvolid=256,subvol=/home 0 0
    tmpfs /tmp tmpfs rw,seclabel,nosuid,nodev,size=7920444k,nr_inodes=409600,inode64 0 0
    /dev/nvme0n1p4 /mnt/BA9E0A209E09D633 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
    /dev/nvme0n1p5 /boot ext4 rw,seclabel,relatime 0 0
    /dev/nvme0n1p3 /mnt/12DAA115DAA0F65F fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
    /dev/nvme0n1p7 /mnt/01D7E10FC8B40900 fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
    /dev/nvme0n1p1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro 0 0
    sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
    tmpfs /run/user/1000 tmpfs rw,seclabel,nosuid,nodev,relatime,size=1584088k,nr_inodes=396022,mode=700,uid=1000,gid=1000,inode64 0 0
    gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
    portal /run/user/1000/doc fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
    portal /root/.cache/doc fuse.portal rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0
    gvfsd-fuse /root/.cache/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0
    
    opened by govarthenan 16
  • Some dependency issues on from AUR

    Some dependency issues on from AUR

    I would like to thank you for the wonderful piece of software you have created here. It is very polished and works amazingly well.

    Now, onto what I found.

    When trying to download from the AUR in Manjaro it kept chucking an error for python-tomli 2.0.1-1. This is down to the fact that the repository cannot be found to download the required package. I understand that this is an issue you have no control over so I am more then happy to chalk it up to a non issue.

    When installing via pip instead it works perfectly fine on Manjaro. No bothers at all.

    I have also made a video about this that will be published tomorrow. Again, thank you for the software and I hope you enjoy the video. Have a good day!

    https://youtu.be/4YIqaUx63Lg

    opened by NickMatthews-1 15
  • Displaying temperature for Nvidia GPU

    Displaying temperature for Nvidia GPU

    Based on the screenshots, it does show temperatures for nouveau drivers, but are you able to have it display it for Nvidia proprietary drivers too by any chance?

    opened by Hayashi-Tensai 13
  • [Feature Request]  Use of Colors in Process enumerator section

    [Feature Request] Use of Colors in Process enumerator section

    Hi,

    I'm really enjoying using System Monitoring Center and I spend a lot of time in the "Processes" section...

    It is real useful and well done. I only have a rather basic suggestion:

    I would find it easier to read through during analytical runs, where a more extensive use of colourful icons and text colouring be implemented...

    Finding things at a glance is a bit too monochromatic to make it easy to rapidly id abstractions in the process load...

    Also the process Tree while really useful actually adds significantly to the monochromatic noise...

    Also I'm rather grateful you update so regularly. It's a really good tool, very useful...

    opened by The-Real-Admin-Guy 11
  • Possible to implement an update notification?

    Possible to implement an update notification?

    It would be nice to have a feature where it informs the user of an update when a new version is available, or else it will be hard to tell when a new version releases

    opened by Hayashi-Tensai 9
  • Files are installed in the wrong place

    Files are installed in the wrong place

    I tried the v1.12.1 and v1.12.1-deb_for_stores tags with the same result.

    Using setup.py build / install:

    .
    ├── systemmonitoringcenter
    │   ├── applications
    │   ├── database
    │   ├── icons
    │   │   └── hicolor
    │   │       └── scalable
    │   │           ├── actions
    │   │           └── apps
    │   ├── locale
    │   │   ├── cs
    │   │   │   └── LC_MESSAGES
    │   │   ├── pl
    │   │   │   └── LC_MESSAGES
    │   │   ├── pt_BR
    │   │   │   └── LC_MESSAGES
    │   │   └── tr
    │   │       └── LC_MESSAGES
    │   ├── src
    │   └── ui
    └── usr
        ├── bin
        └── lib
            └── python3.10
                └── site-packages
                    ├── systemmonitoringcenter
                    │   └── __pycache__
                    └── system_monitoring_center-1.12.1-py3.10.egg-info
    
    

    Using build / installer:

    
    └── usr
        ├── bin
        └── lib
            └── python3.10
                └── site-packages
                    ├── systemmonitoringcenter
                    │   ├── applications
                    │   ├── database
                    │   ├── icons
                    │   │   └── hicolor
                    │   │       └── scalable
                    │   │           ├── actions
                    │   │           └── apps
                    │   ├── locale
                    │   │   ├── cs
                    │   │   │   └── LC_MESSAGES
                    │   │   ├── pl
                    │   │   │   └── LC_MESSAGES
                    │   │   ├── pt_BR
                    │   │   │   └── LC_MESSAGES
                    │   │   └── tr
                    │   │       └── LC_MESSAGES
                    │   ├── __pycache__
                    │   ├── src
                    │   │   └── __pycache__
                    │   └── ui
                    └── system_monitoring_center-1.12.1.dist-info
    
    opened by yochananmarqos 9
Releases(v1.39.0)
dash-manufacture-spc-dashboard is a dashboard for monitoring read-time process quality along manufacture production line

In our solution based on plotly, dash and influxdb, the user will firstly generate the specifications for different robots, and then a wide range of interactive visualizations for different machines

Dequn Teng 1 Feb 13, 2022
Monitoring plugin to check disk io with Icinga, Nagios and other compatible monitoring solutions

check_disk_io - Monitor disk io This is a monitoring plugin for Icinga, Nagios and other compatible monitoring solutions to check the disk io. It uses

DinoTools 3 Nov 15, 2022
Pretty-print tabular data in Python, a library and a command-line utility. Repository migrated from bitbucket.org/astanin/python-tabulate.

python-tabulate Pretty-print tabular data in Python, a library and a command-line utility. The main use cases of the library are: printing small table

Sergey Astanin 1.5k Jan 06, 2023
A Fast, Extensible Progress Bar for Python and CLI

tqdm tqdm derives from the Arabic word taqaddum (تقدّم) which can mean "progress," and is an abbreviation for "I love you so much" in Spanish (te quie

tqdm developers 23.7k Jan 01, 2023
Greppin' Logs: Leveling Up Log Analysis

This repo contains sample code and example datasets from Jon Stewart and Noah Rubin's presentation at the 2021 SANS DFIR Summit titled Greppin' Logs. The talk was centered around the idea that Forens

Stroz Friedberg 20 Sep 14, 2022
Outlog it's a library to make logging a simple task

outlog Outlog it's a library to make logging a simple task!. I'm a lazy python user, the times that i do logging on my apps it's hard to do, a lot of

ZSendokame 2 Mar 05, 2022
Progressbar 2 - A progress bar for Python 2 and Python 3 - "pip install progressbar2"

Text progress bar library for Python. Travis status: Coverage: Install The package can be installed through pip (this is the recommended method): pip

Rick van Hattem 795 Dec 18, 2022
A watchdog and logger to Discord for hosting ScPrime servers.

ScpDog A watchdog and logger to Discord for hosting ScPrime servers. Designed to work on Linux servers. This is only capable of sending the logs from

Keagan Landfried 3 Jan 10, 2022
Integrates a UPS monitored by NUT into OctoPrint

OctoPrint UPS This OctoPrint plugin interfaces with a UPS monitored by NUT (Network UPS Tools). Requirements NUT must be configured by the user. This

Shawn Bruce 11 Jul 05, 2022
A python logging library

logi v1.3.4 instolation the lib works on python 3x versions pip install logi examples import import logi log = logger(path='C:/file path', timestamp=T

2 Jul 06, 2022
A cool logging replacement for Python.

Welcome to Logbook Travis AppVeyor Supported Versions Latest Version Test Coverage Logbook is a nice logging replacement. It should be easy to setup,

1.4k Nov 11, 2022
Structured Logging for Python

structlog makes logging in Python faster, less painful, and more powerful by adding structure to your log entries. It's up to you whether you want str

Hynek Schlawack 2.3k Jan 05, 2023
A very basic esp32-based logic analyzer capable of sampling digital signals at up to ~3.2MHz.

A very basic esp32-based logic analyzer capable of sampling digital signals at up to ~3.2MHz.

Davide Della Giustina 43 Dec 27, 2022
Display tabular data in a visually appealing ASCII table format

PrettyTable Installation Install via pip: python -m pip install -U prettytable Install latest development version: python -m pip install -U git+https

Jazzband 924 Jan 05, 2023
Pretty and useful exceptions in Python, automatically.

better-exceptions Pretty and more helpful exceptions in Python, automatically. Usage Install better_exceptions via pip: $ pip install better_exception

Qix 4.3k Dec 29, 2022
Python script to scan log files/system for unauthorized access around system

checkLogs Python script to scan log files/system for unauthorized access around Linux systems Table of contents General info Getting started Usage Gen

James Kelly 1 Feb 25, 2022
giving — the reactive logger

giving is a simple, magical library that lets you log or "give" arbitrary data throughout a program and then process it as an event stream.

Olivier Breuleux 0 May 24, 2022
metovlogs is a very simple logging library

metovlogs is a very simple logging library. Setup is one line, then you can use it as a drop-in print replacement. Sane and useful log format out of the box. Best for small or early projects.

Azat Akhmetov 1 Mar 01, 2022
Yaml - Loggers are like print() statements

Upgrade your print statements Loggers are like print() statements except they also include loads of other metadata: timestamp msg (same as print!) arg

isaac peterson 38 Jul 20, 2022
ScreenshotLogger works just like a keylogger but instead of capturing keystroke,it captures the screen, stores it or sends via email

ScreenshotLogger works just like a keylogger but instead of capturing keystroke,it captures the screen, stores it or sends via email. Scrapeasy is super easy to use and handles everything for you. Ju

Ifechukwudeni Oweh 17 Jul 17, 2022