# Usage
This page describes basic **`nmk`** usage and the supported command line options.
Use **`nmk -h`** to get live help about these options in the terminal.
```
user@host:~$ $ nmk -h
usage: nmk [-h] [-V] [-q | --info | -v] [--log-file L] [--no-logs] [--log-prefix PREFIX] [-r R] [--no-cache] [-p P] [--config JSON|K=V] [--print K] [--dry-run] [--force]
[--skip SKIPPED_TASKS]
[task ...]
Next-gen make-like build system
positional arguments:
task build task to execute
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
logging options:
-q, --quiet quiet mode (only warning/error messages)
--info default mode
-v, --verbose verbose mode (all messages, including debug ones)
--log-file L write logs to L (default: {ROOTDIR}/.nmk/nmk.log)
--no-logs disable logging
--log-prefix PREFIX prefix for all log messages
root folder options:
-r R, --root R root folder (default: virtual env parent)
--no-cache clear cache before resolving references
project options:
-p P, --project P project file (default: nmk.yml)
config options:
--config JSON|K=V contribute or override config item(s)
--print K print required config item(s) and exit
build options:
--dry-run list tasks to be executed and exit
--force, -f force tasks rebuild
--skip SKIPPED_TASKS skip specified task
```
***
## Logging
### Levels
**`nmk`** prints logs on different levels, and stdout log display can be configured using one of the verbosity options:
- **`--info`** (default): only info (**[I]**) and higher level logs will be displayed
- **`-q, --quiet`**: only warning (**[W]**) and error (**[E]**) logs will be displayed
- **`-v, --verbose`**: all logs (including debug (**[D]**) ones) will be displayed
### File
In addition to the displayed ones, logs are persisted in a file, configured with **`--log-file`** option.
Default log file is **`{ROOTDIR}/.nmk/nmk.log`** (**`{ROOTDIR}`** being the root folder -- see below).
The log file is logging all levels (including debug one), whatever is the chosen level for stdout display (see above).
It uses a rotating mechanism, to start a new log file as soon as a given size (1MB) is reached. Up to 5 backup log files are
kept before being deleted. At the moment, log file size + backup count is hard coded and can't be configured.
### Disabling logs
Logs can be completely disabled (both displayed and persisted ones) if the **`--no-logs`** option is used.
(parser-log-prefix)=
### Prefix
*Added in version 1.2.0*
Top level tools that call **`nmk`** can add a log prefix thanks to the **`--log-prefix`**, in order to help identifying different runs (e.g. for different nmk projects folders). See `` location in logs displays formats below.
### Format
In quiet/info mode, logs are displayed using this format:
> **`