FATAL user and dev must be aware that the application cannot continue: a fundamental resource cannot be reached, authentication failure for the main application, another instance of a singleton is running... ERROR any error that does not fall in the fatal ones: user login errors, needed but not necessary files cannot be written or read. This level mixes user's errors and application ones as generally both consumers are interested in them WARNING unexpected behaviours that are not strictly errors as choosing a destination folder that does not exists, a destination files that already exists. user's warnings generally let the user to rerun some action. application warnings are autorecoverable errors like database connectivity impossible with the first DB but a second attempt will be made INFO any positive feedback from the application to the end user DEBUG any positive feedback from the application to the programmer: the file was open, the DB is available, the datastructure taken will be dumped..