InfoLogger GUI (ILG)
Web user interface of InfoLogger logging system.
It interfaces with the system using two modes:
- Query: Querying historical logs from a database
- Live: Receiving Real-Time logs from a TCP endpoint over InfoLogger protocol (v1.3, v1.4)
Interface User Guide
- Use upper panel to:
- match and/or exclude filters (Supports SQL Wildcard
%
)
- limit the number of logs displayed
- match severity and level
- reset the filters
- Show/hide columns by clicking on labels on top of page
- Click “Query” or “Live” button to start the respective mode
- Double click on a log or toggle the inspector view from the bottom right corner to see all fields of the log
- Use arrows keys to navigate quickly between logs
- Download the logs in a file via the top left download icon
Requirements
nodejs
>= 16.x
- InfoLogger MariaDB database for Query mode
- InfoLoggerServer endpoint for Live mode
Installation
git clone https://github.com/AliceO2Group/WebUi.git; cd WebUi/InfoLogger
npm install --prod
cp config-default.js config.js
- Modify
config.js
file to set InfoLogger database and endpoint details
- Start web app:
npm start
- Open browser and navigate to http://localhost:8080
Development database installation
In order to run queries in the InfoLogger a MariaDB server is required. To run a local MariaDB server that can easily be updated/wiped/configured you will need Docker installed.
- Follow the instructions specific for you platform: docker desktop install
- Create a
compose.yaml
file somewhere on your pc with the following content:
```
services:
mariadb:
image: mariadb
restart: unless-stopped
ports:
- 3306:3306
environment:
MARIADB_ROOT_PASSWORD: root
# (this is just an example, not intended to be a production configuration)
phpmyadmin:
image: phpmyadmin
restart: unless-stopped
ports:
- 9090:80
environment:
- PMA_HOST=mariadb
```
This will get you a MariaDB server with phpmyadmin.
Should you ever feel the need to test a specific version of MariaDB then change the image to
mariadb:11.5
where 11.5 is the version. By default the compose.yaml will get you the latest MariaDB image.
- Execute the following command in the same directory as the compose.yaml file:
docker compose up -d
this will start the containers and the -d
parameter makes sure you can close your commandline window by running in daemon mode.
- You should now be able to visit
http://localhost:9090/
in your browser of choice, enter user and password root to login.
- Create the
INFOLOGGER
database by clicking New
in the phpMyAdmin UI on the left side.
- In the phpMyAdmin UI select
SQL
on the top of the page. Then enter the contents of the InfoLogger/docs/database-specs.sql
file in the field and pressing the Go
button.
- Edit
config.js
to point to your local database:
mysql: {
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'INFOLOGGER',
port: 3306,
timeout: 60000,
retryMs: 5000,
},
- Run the InfoLogger and check for the following message in the console:
info: Connection to DB successfully established: 127.0.0.1:3306
Dummy InfoLogger test server
InfoLoggerServer can be simulated by running npm run simul
. The dummy server binds localhost:6102
endpoint.
InfoLogger insights
Continuous Integration Workflows
InfoLogger project makes use of two workflows.
- Checks that tests of the project are running successfully on two virtual machines:
- Make sure that the proposed changes are not reducing the current code-coverage percent
- Sends a code coverage report to CodeCov
- Releases a new version of the project to the NPM Registry under the tag @aliceo2/infologger
- Builds a
tgz
file which contains an archive of the project. This can be used for local repositories installations.