uLogeMe - Seu Logger pessoal
Este post abordará um programa Open-Source escrito em Python, Bash e JavaScript que tem por finalidade salvar todas as atividades feitas no computador. Ele armazenará todos os nomes de janelas abertas no dia, bem como a hora que esta janela foi aberta. Posteriormente, com todos os dados salvos, ele cria de forma automática várias estatísticas de uso, possibilitando fácil visualização de como o tempo foi gasto em cada atividade. Não preocupe, seus dados pertencerão somente a você! O uLogMe não faz upload de absolutamente nada para qualquer armazenamento externo.
Sumário
Para nos organizarmos melhor nesse post, teremos a seguinte estrutura:
- Requisitos
- Um breve overview
- Preparando o terreno
- Configuração
- Instalação
- Conhecendo seu novo Logger
Requisitos
-
Para que você possa instalar esse programa é necessário que você tenha um sistema operacional Linux. (caso você tenha um sistema operacional OS X, veja a página do criador original, Karpathy, no github). Esse post é baseado na versão criada pelo Naereen, que fez umas boas modificações no código original.
Me desculpe, se você usa Windows não conseguirá usar o uLogMe… -
Será necessário que você algum conhecimento básico sobre operações por linha de comando (não se preocupe, tentarei ser o mais simples possível)
Um breve overview
Hoje nós falaremos sobre o uLogMe. Ele é um programa que salva toda a sua atividade feita no computador, quanto tempo você gasta em cada janela aberta, e no final mosta alguns gráficos bem legais. Dessa forma, você pode analisar como está gastando seu tempo, ver se tem alguma atividade atrapalhando sua produtividade ~Instagram~ e, assim, tomar medidas para melhorar isso.
Aqui estão alguns exemplos de estatísticas geradas automaticamente:
E aí, o que achou das estatísticas que o uLogMe gera?
Bom, se você se interessou de ter acesso a esses dados de uso, vamos passar para a parte de instalação do programa.
Preparando o terreno
Instalando Pacotes Necessários
Primeiramente, é bom que você dê uma olhada na página de instalação oficial.
Como requisitos para correto funcionamento, você terá que instalar os seguintes pacotes: git
, xdotool
, xinput
, wmctrl
e xprintidle
Se seu sistema for o Debian ou algum dos seus derivados (como o Ubuntu, Linux Mint, etc.) você pode executar o seguinte comando para instalar todos estes pacotes de uma vez só:
sudo apt install git xdotool xinput wmctrl xprintidle
Caso você use uma distro não baseada em Debian, pode instalar esses pacotes substituindo apt
por pacman
(ArchLinux) ou yum
(Fedora), por exemplo.
Baixando o Programa
Bem, agora que os pacotes necessários estão intalados, você terá de baixar o programa. Primeiro, abra o terminal e digite:
cd ~/.local/
Com esse comando, você está mudando da pasta atualmente aberta para a pasta ~/.local/. (note que ~
é simplesmente um atalho para o diretório do seu usuário atual, com o formato /home/<USUÁRIO>/
. No meu caso, seria o diretório /home/matheus/
).
Você pode escolher qualquer pasta para salvar o programa. Não necessáriamente ele tem que estar localizado na pasta .local
.
Agora que você está dentro do diretório no qual deseja instalar o uLogMe, você pode baixá-lo com o comando:
git clone https://github.com/Naereen/uLogMe.git ulogme
Pronto. Agora que você tem o programa baixado, vamos entender como ele está organizado.
Entendendo os diretórios do uLogMe
Essa é uma parte importante, pois entendendo como o uLogMe foi escrito te ajudará a modificá-lo no futuro. Assim, você poderá personalizá-lo para ficar da forma como você achar melhor.
Bom, assumindo que você instalou o programa no diretório ~/.local/
com o nome de ulogme
, vamos agora explorar o que tem em cada pasta:
cd ~/.local/ulogme/
ls -l
Rodando esses comandos, nos asseguramos que estamos na pasta que o uLogMe foi instalado, e também podemos ver quais são os arquivos e subdiretórios que ele contém.
Você deve ter um output mais ou menos assim:
drwxr-xr-x 2 matheus matheus 4096 jul 22 08:10 logs
drwxr-xr-x 7 matheus matheus 4096 jul 10 23:50 render
drwxr-xr-x 2 matheus matheus 4096 jul 10 22:27 screenshots
drwxrwxr-x 4 matheus matheus 4096 jul 10 23:18 scripts
-rw-r--r-- 1 matheus matheus 25 jun 14 09:12 _config.yml
-rw-r--r-- 1 matheus matheus 1123 jun 14 09:12 LICENSE
-rw-r--r-- 1 matheus matheus 1406 jun 14 09:12 nginx.conf
-rw-r--r-- 1 matheus matheus 16156 jun 14 09:12 README.md
As linhas que começam com d
indicam que o output é um diretório. Portanto, no primeiro nível dentro do diretório ~/.local/ulogme/
, temos que logs
, render
, screenshots
e scripts
são diretórios. O outros são arquivos.
_config.yml
é o arquivo principal de configuração da página Web que o uLogMe usa para mostrar as estatísticas.LICENSE
é a licença de uso do programa.nginx.conf
é o arquivo que configurará o servidor local para mostrar as estatísticas por qualquer navegador Web. (Uilizarei o Firefox durante este post, mas qualquer navegador deve funcionar, não se preocupe).README.md
é o arquivo com as informações de instalação (em inglês), do autor do uLogMe. Você pode acessar o mesmo arquivo, com uma formatação mais bacana, nesse link.
Vamos agora para o diretório scripts
. Esse é o diretório que contém todos os arquivos responsáveis por criar o servidor Web (que permitirá a você ter acesso fácil às estatísticas geradas) e, também, por fazer a coleta dos dados. Pense nesse diretório como sendo o motor de todo o programa.
cd ./scripts
ls -l
Os arquivos são os seguintes:
drwxrwxr-x 2 matheus matheus 4096 jul 10 23:20 icons
drwxrwxr-x 2 matheus matheus 4096 jul 11 22:24 __pycache__
-rwxrwxr-x 1 matheus matheus 3402 jun 14 09:12 color.sh
-rw-rw-r-- 1 matheus matheus 7196 jun 14 09:12 export_events.py
-rw-rw-r-- 1 matheus matheus 6275 jun 14 09:14 export_events.pyc
-rwxrwxr-x 1 matheus matheus 4211 jun 14 09:12 keyfreq.sh
-rw-rw-r-- 1 matheus matheus 4184 jun 14 09:12 legacy_split_events.py
-rwxrwxr-x 1 matheus matheus 7096 jun 14 09:12 logactivewin.sh
-rw-rw-r-- 1 matheus matheus 872 jun 14 09:12 logdesktop.sh
-rw-rw-r-- 1 matheus matheus 737 jun 14 09:12 note.sh
-rw-rw-r-- 1 matheus matheus 9242 jun 14 09:12 notify.py
-rw-rw-r-- 1 matheus matheus 6652 jun 14 09:14 notify.pyc
-rw-rw-r-- 1 matheus matheus 10126 jun 14 09:12 README.md
-rw-rw-r-- 1 matheus matheus 1971 jun 14 09:12 rewind7am.py
-rw-rw-r-- 1 matheus matheus 2159 jun 14 09:14 rewind7am.pyc
-rwxrwxr-x 1 matheus matheus 646 jul 16 17:13 ulogme_data.sh
-rw-rw-r-- 1 matheus matheus 4638 jun 14 09:12 ulogme_serve_https.py
-rw-rw-r-- 1 matheus matheus 8480 jun 14 09:12 ulogme_serve.py
-rw-rw-r-- 1 matheus matheus 1797 jun 14 09:12 ulogme_serve.sh
-rw-rw-r-- 1 matheus matheus 1682 jun 14 09:12 ulogme_tmux.sh
Se você tem um conhecimento básico de Python e Bash, recomendo que dê uma olhada em cada um dos arquivos. Agora, mesmo que você não conheça nenhuma dessas linguagens, eu vou dar uma explicada básica sobre o que o programa está fazendo em cada um dos 4 arquivos principais do uLogMe.
-
ulogme_data.sh
- Esse é o principal arquivo de configuração, responsável por iniciar os sub-scripts que farão a coleta de dados. Pense nele como girar a chave de um carro, para dar a partida no motor. -
keyfreq.sh
- Esse script é responsável por contar quantas teclas foram digitadas por segundo, bem como em qual janela isso ocorreu. -
logactivewin.sh
- Esse scritp escaneia, a cada 2 segundos, qual a janela ativa no momento, salvando o resultado em um arquivo.txt
dentro da pasta../logs/
. (Pois é, ele faz a checagem nesse intervalo bem curto! Mas, mesmo assim, não consome praticamente nada de CPU ou RAM. Caso você queira modificar o tempo de checagem, esse é o script que você tem que modificar) -
color.sh
- Esse script basicamente deixa seu terminal com cores personalizadas.
Como dá pra perceber, é um resumo extremamente superficial. Foi só pra você ter uma noção de quais são os principais scripts e onde procurar primeiro, caso você deseje modificar alguma coisa.
Passando agora para a pasta logs
: Essa é a pasta na qual o uLogMe salva todos os dados coletados. Ela está em: ~/.local/ulogme/logs/
cd ~/.local/ulogme/logs/
ls -l
O output será um conjunto de arquivos no formato .txt
.
keyfreq_<algum_número>.txt
é um arquivo contendo as informações de quantas teclas foram digitadas por segundo em cada dia específico. (você terá um novo arquivokeyfreq_<algum_número>.txt
para cada dia que o uLogMe coletou dados).keyfreq_today.txt
é simplesmente um atalho para o arquivokeyfreq_<dia_atual>.txt
.window_<algum_número>.txt
é um arquivo contendo as informações de todas as janelas abertas no dia, bem como o horário em que isso ocorreu.
No meu caso, o output do comando ls -l
é assim:
-rw-r--r-- 1 matheus matheus 6153 jun 14 17:17 keyfreq_1560506400.txt
-rw-r--r-- 1 matheus matheus 6118 jun 15 18:10 keyfreq_1560592800.txt
-rw-r--r-- 1 matheus matheus 1489 jun 17 06:21 keyfreq_1560679200.txt
-rw-r--r-- 1 matheus matheus 2858 jun 17 23:08 keyfreq_1560765600.txt
-rw-r--r-- 1 matheus matheus 18355 jun 18 20:55 keyfreq_1560852000.txt
-rw-r--r-- 1 matheus matheus 4104 jun 19 23:12 keyfreq_1560938400.txt
-rw-r--r-- 1 matheus matheus 6620 jun 20 15:42 keyfreq_1561024800.txt
-rw-r--r-- 1 matheus matheus 3505 jun 21 17:57 keyfreq_1561111200.txt
-rw-r--r-- 1 matheus matheus 21067 jun 23 02:07 keyfreq_1561197600.txt
-rw-r--r-- 1 matheus matheus 15343 jun 23 17:36 keyfreq_1561284000.txt
-rw-r--r-- 1 matheus matheus 2435 jun 24 13:58 keyfreq_1561370400.txt
-rw-r--r-- 1 matheus matheus 20283 jun 25 17:10 keyfreq_1561456800.txt
-rw-rw-r-- 1 matheus matheus 4647 jul 11 23:50 keyfreq_1562839200.txt
-rw-rw-r-- 1 matheus matheus 17650 jul 12 22:45 keyfreq_1562925600.txt
-rw-rw-r-- 1 matheus matheus 12790 jul 13 23:08 keyfreq_1563012000.txt
-rw-rw-r-- 1 matheus matheus 17140 jul 16 23:14 keyfreq_1563271200.txt
-rw-rw-r-- 1 matheus matheus 27797 jul 18 00:01 keyfreq_1563357600.txt
-rw-rw-r-- 1 matheus matheus 23740 jul 18 22:54 keyfreq_1563444000.txt
-rw-rw-r-- 1 matheus matheus 15175 jul 19 23:51 keyfreq_1563530400.txt
-rw-rw-r-- 1 matheus matheus 19401 jul 20 21:07 keyfreq_1563616800.txt
-rw-rw-r-- 1 matheus matheus 11582 jul 21 17:49 keyfreq_1563703200.txt
-rw-rw-r-- 1 matheus matheus 9644 jul 22 12:05 keyfreq_1563789600.txt
lrwxrwxrwx 1 matheus matheus 22 jul 22 08:10 keyfreq_today.txt -> keyfreq_1563789600.txt
-rw-r--r-- 1 matheus matheus 47 jun 14 17:25 notes_1560506400.txt
-rw-r--r-- 1 matheus matheus 38281 jun 14 19:25 window_1560506400.txt
-rw-r--r-- 1 matheus matheus 68570 jun 15 22:28 window_1560592800.txt
-rw-r--r-- 1 matheus matheus 4714 jun 17 06:35 window_1560679200.txt
-rw-r--r-- 1 matheus matheus 5564 jun 17 23:08 window_1560765600.txt
-rw-r--r-- 1 matheus matheus 119147 jun 18 21:26 window_1560852000.txt
-rw-r--r-- 1 matheus matheus 45114 jun 20 00:12 window_1560938400.txt
-rw-r--r-- 1 matheus matheus 60609 jun 20 21:49 window_1561024800.txt
-rw-r--r-- 1 matheus matheus 101821 jun 21 23:01 window_1561111200.txt
-rw-r--r-- 1 matheus matheus 138158 jun 23 02:07 window_1561197600.txt
-rw-r--r-- 1 matheus matheus 74921 jun 23 17:37 window_1561284000.txt
-rw-r--r-- 1 matheus matheus 16199 jun 24 13:58 window_1561370400.txt
-rw-r--r-- 1 matheus matheus 102010 jun 25 19:40 window_1561456800.txt
-rw-rw-r-- 1 matheus matheus 21484 jul 11 23:50 window_1562839200.txt
-rw-rw-r-- 1 matheus matheus 86493 jul 12 22:45 window_1562925600.txt
-rw-rw-r-- 1 matheus matheus 50954 jul 13 23:08 window_1563012000.txt
-rw-rw-r-- 1 matheus matheus 139738 jul 16 23:14 window_1563271200.txt
-rw-rw-r-- 1 matheus matheus 176667 jul 18 00:02 window_1563357600.txt
-rw-rw-r-- 1 matheus matheus 105103 jul 18 22:53 window_1563444000.txt
-rw-rw-r-- 1 matheus matheus 117138 jul 19 23:51 window_1563530400.txt
-rw-rw-r-- 1 matheus matheus 101130 jul 20 21:07 window_1563616800.txt
-rw-rw-r-- 1 matheus matheus 123323 jul 21 17:49 window_1563703200.txt
-rw-rw-r-- 1 matheus matheus 62594 jul 22 12:04 window_1563789600.txt
É bom você saber onde seus dados estão armazenados. Assim, você pode fazer backup deles (É sempre melhor previnir do que remediar). Além disso, caso você queira apagar todos os seus dados, por qualquer motivo que seja, é só deletar os arquivos dentro da pasta logs
.
Uma última pasta que você precisa conhecer é a pasta render
.
vamos acessá-la e ver o que ela contém com o comando:
cd ~/.local/ulogme/render/
ls -l
O output deve ser algo assim:
drwxr-xr-x 2 matheus matheus 4096 jul 10 22:28 css
drwxrwxr-x 2 matheus matheus 4096 jul 10 23:39 images
drwxrwxr-x 2 matheus matheus 4096 jul 10 23:45 js
drwxrwxr-x 2 matheus matheus 4096 jul 21 14:00 json
drwxrwxr-x 2 matheus matheus 4096 jul 10 23:50 svg
-rw-r--r-- 1 matheus matheus 318 jun 14 09:12 favicon.ico
-rw-r--r-- 1 matheus matheus 5529 jun 14 09:12 favicon.png
-rw-r--r-- 1 matheus matheus 38558 jun 14 09:12 index.html
-rw-r--r-- 1 matheus matheus 26 jun 14 13:48 ls
-rw-r--r-- 1 matheus matheus 20905 jun 14 09:12 overview.html
-rw-r--r-- 1 matheus matheus 164 jun 14 09:12 README.md
-rw-r--r-- 1 matheus matheus 5289 jun 15 21:21 server.pem
Para resumir, essa pasta contém todos os dados necessários para produzir as páginas Web que te permitirão analisar as estatísticas geradas. É basicamente a pasta que com os scripts que criarão a interface gráfica do uLogMe.
Configuração
Como a pasta render
possui muitas coisas, nós vamos ver somente o arquivo render_settings_example.js
, para aprender como a classificação dos dados funciona. Depois, você ficará responsável por criar a sua própria regra de classificação.
Bom, nessa parte, é interessante que você tenha algum editor de textos para poder ler o arquivo render_settings_example.js
enquanto em vou comentando ele (por ser bem extenso, optei por não colocá-lo aqui).
Vamos, então, acessar esse arquivo:
cd ~/.local/ulogme/render/js/
<EDITOR_DE_TEXTO> render_settings_example.js
Note que você deverá substituir <EDITOR_DE_TEXTO>
pelo seu atual editor de texto. Os mais comuns são: gedit
, kate
e leafpad
. Você só precisa saber qual quer usar. No meu caso, como gosto bastante do sublime, o comando seria subl render_settings_example.js
.
Agora, com esse arquivo já aberto, vamos dar uma olhada no que ele faz:
-
Linhas 5-11: Explicação de como a classificação de cada janela funciona. (Se souber inglês, leia as instruções dessas linhas. Se não souber, sempre tem um jeito ;D )
-
Linhas 12-90: É basicamente da seguinte forma: Digamos que a sua atual janela tenha por nome
YouTube - Mozilla Firefox
. O script vai analisar, de cima para baixo, se o nome da janela apresenta algum dos padrões, especificados porpattern: /<PADÃRO>/
. Se ela apresentar, então ele irá considerar que essa janela é referente a algum grupo, segundo a regramapto: <NOME_DO_GRUPO>
, presente na mesma linha. No caso da janelaYouTube - Mozilla Firefox
, observe que primeiro o programa irá considerar que essa janela pertence ao grupoFirefox
, conforme especificado na regra da linha 15. Entretanto, ele vai fazer a análise para todas as demais linhas também. Portanto, quando chegar na linha 38, ele vai modificar o grupo dessa janela, passando deFirefox
paraYoutube
. Dessa forma, é possível especificar grupos de forma bem refinada. -
Linhas 98-108: Qualquer nome de janela que não corresponder a nenhum padrão especificado anteriormente terá seu grupo definido como
MISC
-
Linhas 110-130: Essas linhas vão configurar os grupos que serão renderizados juntos, em uma mesma linha, no campo “Código de Barras”. A configuração que eu fiz, para gerar esse resultado que você viu na imagem, foi esse aqui:
var display_groups = []; display_groups.push(['PDF', 'YouTube', 'VLC', 'GMusicBrowser', 'Anki', 'College', 'Bioinformatics', 'Wikipedia', 'English', 'Interval', 'Readings']); // Studying display_groups.push(['Bible']); // TSD display_groups.push(['Matlab', 'Notebook', 'Terminal', 'GitHub', 'Bitbucket', 'ST3', 'ST3 Python', 'ST3 Bash', 'ST3 JS', 'ST3 HTML', 'ST3 CSS', 'ST3 LaTeX', 'ST3 Markdown', 'ST3 rST', 'VS-Code', 'VS-Code Python', 'VS-Code Bash', 'VS-Code JS', 'VS-Code HTML', 'VS-Code CSS', 'VS-Code LaTeX', 'VS-Code Markdown', 'VS-Code rST', 'Atom', 'Atom Python', 'Atom Bash', 'Atom JS', 'Atom HTML', 'Atom CSS', 'Atom LaTeX', 'Atom Markdown', 'Atom rST', 'PyCharm', 'PyCharm Python', 'PyCharm Markdown', 'PyCharm rST']); // Coding related display_groups.push(['Chats', 'Firefox', 'Agenda']); // Internet display_groups.push(['Reddit', 'Mails', 'Skype', 'Facebook', 'Slack']); // Social browsing display_groups.push(['Time-Tracker', 'PC-Config', 'PC-Automating', 'Searching-Local_Files', 'Backups']); // Computer Related display_groups.push(['Computer idle', 'Computer locked', 'Computer suspended']); // computer not being used
-
Linhas 133-140: Essas linhas vão configurar os grupos renderizados no primeiro gráfico mostrado. A configuração que eu usei para gerar a imagem que você acabou de ver (se não viu, clique no link) foi essa aqui:
var activity_groups = []; activity_groups.push({name:"Studying", titles: ['PDF', 'YouTube', 'VLC', 'GMusicBrowser', 'Anki', 'College', 'Bioinformatics', 'Wikipedia', 'English', 'Interval', 'Readings']}); activity_groups.push({name:"TSD", titles: ['Bible']}); activity_groups.push({name:"Coding", titles: ['Matlab', 'Notebook', 'Terminal', 'GitHub', 'Bitbucket', 'ST3', 'ST3 Python', 'ST3 Bash', 'ST3 JS', 'ST3 HTML', 'ST3 CSS', 'ST3 LaTeX', 'ST3 Markdown', 'ST3 rST', 'VS-Code', 'VS-Code Python', 'VS-Code Bash', 'VS-Code JS', 'VS-Code HTML', 'VS-Code CSS', 'VS-Code LaTeX', 'VS-Code Markdown', 'VS-Code rST', 'Atom', 'Atom Python', 'Atom Bash', 'Atom JS', 'Atom HTML', 'Atom CSS', 'Atom LaTeX', 'Atom Markdown', 'Atom rST', 'PyCharm', 'PyCharm Python', 'PyCharm Markdown', 'PyCharm rST']});
-
Linhas 143-151: Configuram quais grupos são considerados “Continuous typing”. No caso, eu mudei “Continuous typing” para “Studying Hard” (Você pode mudar o nome no título na linha 150)
-
Linhas 151-162: Algumas outras menores funcionalidades que o uLogMe oferece.
Certo, agora que você já sabe como configurar as regras que classificarão as janelas, você precisará criar as suas próprias. Eu recomendo que você use o arquivo render_settings_example.js
como um modelo a partir do qual você possa criar o seu render_settings.js
, que é o arquivo que o uLogMe usará para fazer as classificações de cada janela que ele salva.
Para isso, criaremos uma cópia do arquivo render_settings_example.js
, com o nome de render_settings.js
:
cd ~/.local/ulogme/render/js/
cp ./render_settings_example.js ./render_settings.js
Agora, é só editar o arquivo render_settings.js
para se adequar às suas necessidades.
Instalação
Agora que você já conhece como o uLogMe é organizado e já configurou os arquivos necessários, vamos partir para a parte de instalação.
-
Precisamos tornar alguns scripts executáveis:
cd ~/.local/ulogme/scripts/ chmod +x ulogme_data.sh chmod +x keyfreq.sh chmod +x logactivewin.sh chmod +x color.sh
-
Agora, vamos fazer com que o script principal,
ulogme_data.sh
seja iniciado quando seu computador ligar:crontab -e # Vai abrir o menu de edição do cron (dê uma pesquisada por "crontab" na internet se você não sabe como usar ainda)
Vá para a última linha do seu contrab e adicione o seguinte comando:
@reboot sh $HOME/.local/ulogme/scripts/ulogme_data.sh
(Lembre-se de que no editor do crontab, para copiar um texto você deve usar Ctrl+Shift+C, e para colar deve usar Ctrl+Shift+V)
Depois, certifique-se de adicionar uma linha vazia ao final do arquivo.
No final, seu crontab deve estar mais ou menos assim:# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any').# # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command @reboot sh $HOME/.local/ulogme/scripts/ulogme_data.sh
(Certifique-se de que existe uma linha em branco no final do aquivo!)
(Para sair do editor, digite Ctrl+X, ele vai te perguntar se você deseja salvar. aperte a tecla S para informar que sim.) -
Agora, reinicie seu computador.
Conhecendo seu novo Logger
Pronto! Agora o ulogme já está rodando e fazendo os logs.
Se você quiser acessar as estatísticas que ele cria, precisaremos fazer apenas mais um script:
cd ~
nano ulogme_view_logs.py
Agora que o editor abriu, copie esse código para o arquivo:
#!/usr/bin/env python3
import os
import time
import webbrowser
home = os.path.expanduser('~')
os.chdir('{}/.local/ulogme/scripts/'.format(home))
os.system('/usr/bin/python3 ./export_events.py &')
time.sleep(3)
os.system('/usr/bin/python3 ./ulogme_serve.py &')
time.sleep(0.2)
webbrowser.open('http://localhost:8124')
Torne o arquivo executável:
chmod +x ulogme_view_logs.py
Terminado! Agora você já pode visualisar os logs que o uLogMe está salvando!
cd ~
./ulogme_view_logs.py
Executando esse comando o seu navegador padrão abrirá no link http://localhost:8124
. Dentro de 3 segundos seu navegador deve abrir já na página do ulogme.
Agora, é só aproveitar seu novo Logger!
Bem, o post fui um pouco extenso, mas espero que tenha ajudado. qualquer dúvida, contate-me pelo telegram