-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathlogging.html
More file actions
92 lines (90 loc) · 57.8 KB
/
logging.html
File metadata and controls
92 lines (90 loc) · 57.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Logging | Mantis</title>
<meta name="description" content="Type safe and simple web framework.">
<meta name="generator" content="VitePress v1.5.0">
<link rel="preload stylesheet" href="/mantis/assets/style.BjdRxbbZ.css" as="style">
<link rel="preload stylesheet" href="/mantis/vp-icons.css" as="style">
<script type="module" src="/mantis/assets/app.Bp917kCD.js"></script>
<link rel="preload" href="/mantis/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/mantis/assets/chunks/theme.C27Qbelv.js">
<link rel="modulepreload" href="/mantis/assets/chunks/framework.Br0sn5vz.js">
<link rel="modulepreload" href="/mantis/assets/logging.md.Om2YJptx.lean.js">
<script async>(function(){(!window.chatbase||window.chatbase("getState")!=="initialized")&&(window.chatbase=(...e)=>{window.chatbase.q||(window.chatbase.q=[]),window.chatbase.q.push(e)},window.chatbase=new Proxy(window.chatbase,{get(e,n){return n==="q"?e.q:(...a)=>e(n,...a)}}));const t=function(){const e=document.createElement("script");e.src="https://www.chatbase.co/embed.min.js",e.id="WxqvtdQdLRG6MWnPo44yU",e.domain="www.chatbase.co",document.body.appendChild(e)};document.readyState==="complete"?t():window.addEventListener("load",t)})();</script>
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/mantis/" data-v-1168a8e4><!--[--><!--]--><!----><span data-v-1168a8e4>Mantis</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963><span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation </span><!--[--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-6aa21345 data-v-88af2de4 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="version" data-v-cf11d7a2><span class="text" data-v-cf11d7a2><span class="vpi-languages option-icon" data-v-cf11d7a2></span><!----><span class="vpi-chevron-down text-icon" data-v-cf11d7a2></span></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><div class="items" data-v-88af2de4><p class="title" data-v-88af2de4>master</p><!--[--><div class="VPMenuLink" data-v-88af2de4 data-v-35975db6><a class="VPLink link" href="/mantis/0.0.1/logging.html" data-v-35975db6><!--[--><span data-v-35975db6>0.0.1</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/khalyomede/mantis" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><div class="group translations" data-v-bb2aa2f0><p class="trans-title" data-v-bb2aa2f0>master</p><!--[--><div class="VPMenuLink" data-v-bb2aa2f0 data-v-35975db6><a class="VPLink link" href="/mantis/0.0.1/logging.html" data-v-35975db6><!--[--><span data-v-35975db6>0.0.1</span><!--]--></a></div><!--]--></div><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/khalyomede/mantis" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 has-active" data-v-c40bc020 data-v-b7550ba0><!----><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/introduction.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Introduction</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/upgrade.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Upgrade</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/quick-start.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Quick start</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/productivity.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Productivity</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/folder-structure.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Folder structure</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1" data-v-b7550ba0 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h3 class="text" data-v-b7550ba0>Http</h3><!----></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/life-cycle.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Life cycle</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/routing.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Routing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/response.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Response</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/request.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Request</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/view.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>View</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/translation.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Translation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/session-file.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Session (file)</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/environment.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Environment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/database.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Database</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/error-handling.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Error handling</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/logging.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Logging</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/middleware.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Middleware</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/configuration.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/cors.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Cors</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/http/extending.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Extending</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1" data-v-b7550ba0 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h3 class="text" data-v-b7550ba0>Console</h3><!----></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/console/routing.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Routing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/console/command.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Command</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/console/argument.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Argument</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/console/flag.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Flag</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/console/option.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Option</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/console/logging.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Logging</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/validation.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Validation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/html.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>HTML</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/css.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>CSS</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/url.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>URL</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/environment.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Environment</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1" data-v-b7550ba0 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h3 class="text" data-v-b7550ba0>Database</h3><!----></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/database/query.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Query</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/logging.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Logging</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1" data-v-b7550ba0 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h3 class="text" data-v-b7550ba0>Testing</h3><!----></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/testing/assertion.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Assertion</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/testing/http.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>HTTP</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/testing/console.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Console</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/testing/fake-data.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Fake data</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/deploy.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Deploy</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1" data-v-b7550ba0 data-v-b7550ba0><div class="item" role="button" tabindex="0" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><h3 class="text" data-v-b7550ba0>Comparison</h3><!----></div><div class="items" data-v-b7550ba0><!--[--><div class="VPSidebarItem level-2 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/comparison/laravel.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Laravel</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/versioning-policy.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Versioning policy</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b7550ba0 data-v-b7550ba0><div class="item" data-v-b7550ba0><div class="indicator" data-v-b7550ba0></div><a class="VPLink link link" href="/mantis/reference.html" data-v-b7550ba0><!--[--><p class="text" data-v-b7550ba0>Reference</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _mantis_logging" data-v-39a288b8><div><h1 id="logging" tabindex="-1">Logging <a class="header-anchor" href="#logging" aria-label="Permalink to "Logging""></a></h1><h2 id="file-logging" tabindex="-1">File logging <a class="header-anchor" href="#file-logging" aria-label="Permalink to "File logging""></a></h2><p>You can log on a given file.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-gfilO" id="tab-M1LhnqR" checked><label data-title="main.v" for="tab-M1LhnqR">main.v</label><input type="radio" name="group-gfilO" id="tab-fcjQahm"><label data-title="logs/mantis.log" for="tab-fcjQahm">logs/mantis.log</label></div><div class="blocks"><div class="language-v vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">v</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">module</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { Log }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging.channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { File }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> mut</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Log{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel: File{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> path: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"logs/mantis.log"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">debug</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Email sent."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><div class="language-log vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">log</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">2024-12-26T17:31:05.147793327Z</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">[DBUG]</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Email sent.</span></span></code></pre></div></div></div><h2 id="dynamic-severity" tabindex="-1">Dynamic severity <a class="header-anchor" href="#dynamic-severity" aria-label="Permalink to "Dynamic severity""></a></h2><p>You can choose the severity at runtime.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-ET30T" id="tab-MrjZEF8" checked><label data-title="main.v" for="tab-MrjZEF8">main.v</label><input type="radio" name="group-ET30T" id="tab-3Ft-luE"><label data-title="logs/mantis.log" for="tab-3Ft-luE">logs/mantis.log</label></div><div class="blocks"><div class="language-v vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">v</span><pre class="shiki shiki-themes github-light github-dark has-focused-lines vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">module</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { Log }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging.channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { File }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> mut</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Log{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel: File{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> path: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"logs/mantis.log"</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.error, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Database connection lost."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><div class="language-log vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">log</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">2024-12-26T17:41:19.933122161Z</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] [ERRO] Database connection lost.</span></span></code></pre></div></div></div><h2 id="available-severities" tabindex="-1">Available severities <a class="header-anchor" href="#available-severities" aria-label="Permalink to "Available severities""></a></h2><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-FMmNd" id="tab-WaGirsu" checked><label data-title="main.v" for="tab-WaGirsu">main.v</label></div><div class="blocks"><div class="language-v vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">v</span><pre class="shiki shiki-themes github-light github-dark has-focused-lines vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">module</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { Log }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging.channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { File }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">emergency</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"System cannot serve response."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) } </span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">alert</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Disk space threshold reached."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">critical</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Request mitigation process does not respond."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">error</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Database connection lost."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">warning</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Cache key not found."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">notice</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Using in memory cache driver is not recommended in production."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">info</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Switching to fallback SMTP."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">debug</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Email sent."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></div></div><p>You can also use the <code>log.log()</code> function to pass the severity at runtime.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-JaA95" id="tab-HIVnUHG" checked><label data-title="main.v" for="tab-HIVnUHG">main.v</label><input type="radio" name="group-JaA95" id="tab-9UUVzzQ"><label data-title="main.v" for="tab-9UUVzzQ">main.v</label></div><div class="blocks"><div class="language-v vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">v</span><pre class="shiki shiki-themes github-light github-dark has-focused-lines vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">module</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { Log }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> khalyomede.mantis.logging.channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { File }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.emergency, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"System cannot serve response."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) } </span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.alert, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Disk space threshold reached."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.critical, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Request mitigation process does not respond."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.error, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Database connection lost."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.warning, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Cache key not found."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.notice, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Using in memory cache driver is not recommended in production."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.info, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Switching to fallback SMTP."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line has-focus"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(.debug, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"Email sent."</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="default-logger" tabindex="-1">Default logger <a class="header-anchor" href="#default-logger" aria-label="Permalink to "Default logger""></a></h2><p>By default the logger will simply log in console.</p><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-HFQRv" id="tab-hZW9afI" checked><label data-title="main.v" for="tab-hZW9afI">main.v</label></div><div class="blocks"><div class="language-v vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">v</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">module</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> logging</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { Log }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">fn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> mut</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">:=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Log{}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> log.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">info</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"hey there!"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">or</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">panic</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(err) }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div></div></div></div></div></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class="VPLink link pager-link prev" href="/mantis/database/query.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Previous page</span><span class="title" data-v-e257564d>Query</span><!--]--></a></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/mantis/testing/assertion.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>Assertion</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"0.0.1_comparison_laravel.md\":\"B7pBQChK\",\"0.0.1_console_argument.md\":\"DDAdKQW0\",\"0.0.1_console_command.md\":\"iE3gjpxF\",\"0.0.1_console_flag.md\":\"Cfx3uk2B\",\"0.0.1_console_logging.md\":\"B9TzAoAA\",\"0.0.1_console_option.md\":\"l5SB_fGc\",\"0.0.1_console_routing.md\":\"gbCD4mW4\",\"0.0.1_css.md\":\"D1a8Bj8S\",\"0.0.1_database_query.md\":\"DQMfWmeb\",\"0.0.1_deploy.md\":\"O1E7hSCz\",\"0.0.1_environment.md\":\"BFZvZ0FZ\",\"0.0.1_folder-structure.md\":\"DvQYJrIC\",\"0.0.1_html.md\":\"D5-8Nlpn\",\"0.0.1_http_configuration.md\":\"RKWt9218\",\"0.0.1_http_cors.md\":\"DQpy3iOm\",\"0.0.1_http_database.md\":\"BG1sMyOp\",\"0.0.1_http_environment.md\":\"CirPBusK\",\"0.0.1_http_error-handling.md\":\"B5wyu9HX\",\"0.0.1_http_extending.md\":\"BvQxNRzz\",\"0.0.1_http_life-cycle.md\":\"BgU7ZV8q\",\"0.0.1_http_logging.md\":\"rtV-BVdv\",\"0.0.1_http_middleware.md\":\"BeUoz1j-\",\"0.0.1_http_request.md\":\"DH_TMqtX\",\"0.0.1_http_response.md\":\"DkNt_qyu\",\"0.0.1_http_routing.md\":\"qOsJb0GI\",\"0.0.1_http_session-file.md\":\"DNyJV-OX\",\"0.0.1_http_translation.md\":\"MhDdH_QS\",\"0.0.1_http_view.md\":\"DmRwd0he\",\"0.0.1_index.md\":\"BN_A2ByR\",\"0.0.1_introduction.md\":\"KzjaTu4j\",\"0.0.1_logging.md\":\"Cv9afewW\",\"0.0.1_productivity.md\":\"D738xDl6\",\"0.0.1_quick-start.md\":\"lMmoFW86\",\"0.0.1_reference.md\":\"ByPS_tex\",\"0.0.1_testing_assertion.md\":\"TMOcILgj\",\"0.0.1_testing_console.md\":\"vbLVi2Lh\",\"0.0.1_testing_fake-data.md\":\"DC9YIwBZ\",\"0.0.1_testing_http.md\":\"DWfGU6mX\",\"0.0.1_upgrade.md\":\"DItsfjX3\",\"0.0.1_url.md\":\"htCHOcWd\",\"0.0.1_validation.md\":\"_QBIvZro\",\"0.0.1_versioning-policy.md\":\"lArGhREv\",\"comparison_laravel.md\":\"DY9JvZ4Y\",\"console_argument.md\":\"CiOViBFo\",\"console_command.md\":\"DjeyovA6\",\"console_flag.md\":\"DqW301wM\",\"console_logging.md\":\"Ce87N_xm\",\"console_option.md\":\"BFk7Db7t\",\"console_routing.md\":\"RSpGSjpa\",\"css.md\":\"Bc2IzajL\",\"database_query.md\":\"DtboS-pG\",\"deploy.md\":\"B1YWdBaX\",\"environment.md\":\"CN7umIzV\",\"folder-structure.md\":\"lkfNLjGO\",\"html.md\":\"91LMckKi\",\"http_configuration.md\":\"BDjsMPgW\",\"http_cors.md\":\"CREJt9bP\",\"http_database.md\":\"CzfNz2k-\",\"http_environment.md\":\"D_razfJE\",\"http_error-handling.md\":\"BGB0vj-D\",\"http_extending.md\":\"ClEfxW5X\",\"http_life-cycle.md\":\"DWMDUEzT\",\"http_logging.md\":\"CgDU8lH0\",\"http_middleware.md\":\"D_nBOYhA\",\"http_request.md\":\"BFv7NAgG\",\"http_response.md\":\"CP0ZSGK9\",\"http_routing.md\":\"BRVDJeIm\",\"http_session-file.md\":\"PJw4vUKl\",\"http_translation.md\":\"37ygX0Pe\",\"http_view.md\":\"C8OM3Ldg\",\"index.md\":\"B8gC6cyr\",\"introduction.md\":\"CS2gVnVj\",\"logging.md\":\"Om2YJptx\",\"productivity.md\":\"C37sH9uB\",\"quick-start.md\":\"BwLsi8rx\",\"reference.md\":\"B7X8C9YP\",\"testing_assertion.md\":\"B9WCcJaQ\",\"testing_console.md\":\"r6C7GShW\",\"testing_fake-data.md\":\"0gzaSTne\",\"testing_http.md\":\"DcIxLMsu\",\"upgrade.md\":\"BuOJOgjz\",\"url.md\":\"BNSj9hVi\",\"validation.md\":\"CWOIgCj5\",\"versioning-policy.md\":\"nKPCIIgr\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Mantis\",\"description\":\"Type safe and simple web framework.\",\"base\":\"/mantis/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[],\"search\":{\"provider\":\"local\"},\"sidebar\":[{\"items\":[{\"text\":\"Introduction\",\"link\":\"/introduction\"},{\"text\":\"Upgrade\",\"link\":\"/upgrade\"},{\"text\":\"Quick start\",\"link\":\"/quick-start\"},{\"text\":\"Productivity\",\"link\":\"/productivity\"},{\"text\":\"Folder structure\",\"link\":\"/folder-structure\"},{\"text\":\"Http\",\"items\":[{\"text\":\"Life cycle\",\"link\":\"/http/life-cycle\"},{\"text\":\"Routing\",\"link\":\"/http/routing\"},{\"text\":\"Response\",\"link\":\"/http/response\"},{\"text\":\"Request\",\"link\":\"/http/request\"},{\"text\":\"View\",\"link\":\"/http/view\"},{\"text\":\"Translation\",\"link\":\"/http/translation\"},{\"text\":\"Session (file)\",\"link\":\"/http/session-file\"},{\"text\":\"Environment\",\"link\":\"/http/environment\"},{\"text\":\"Database\",\"link\":\"/http/database\"},{\"text\":\"Error handling\",\"link\":\"/http/error-handling\"},{\"text\":\"Logging\",\"link\":\"/http/logging.md\"},{\"text\":\"Middleware\",\"link\":\"/http/middleware.md\"},{\"text\":\"Configuration\",\"link\":\"/http/configuration\"},{\"text\":\"Cors\",\"link\":\"/http/cors\"},{\"text\":\"Extending\",\"link\":\"/http/extending\"}]},{\"text\":\"Console\",\"items\":[{\"text\":\"Routing\",\"link\":\"/console/routing\"},{\"text\":\"Command\",\"link\":\"/console/command\"},{\"text\":\"Argument\",\"link\":\"/console/argument\"},{\"text\":\"Flag\",\"link\":\"/console/flag\"},{\"text\":\"Option\",\"link\":\"/console/option\"},{\"text\":\"Logging\",\"link\":\"/console/logging\"}]},{\"text\":\"Validation\",\"link\":\"/validation\"},{\"text\":\"HTML\",\"link\":\"/html\"},{\"text\":\"CSS\",\"link\":\"/css\"},{\"text\":\"URL\",\"link\":\"/url\"},{\"text\":\"Environment\",\"link\":\"/environment\"},{\"text\":\"Database\",\"items\":[{\"text\":\"Query\",\"link\":\"/database/query\"}]},{\"text\":\"Logging\",\"link\":\"/logging\"},{\"text\":\"Testing\",\"items\":[{\"text\":\"Assertion\",\"link\":\"/testing/assertion\"},{\"text\":\"HTTP\",\"link\":\"/testing/http\"},{\"text\":\"Console\",\"link\":\"/testing/console\"},{\"text\":\"Fake data\",\"link\":\"/testing/fake-data\"}]},{\"text\":\"Deploy\",\"link\":\"/deploy\"},{\"text\":\"Comparison\",\"items\":[{\"text\":\"Laravel\",\"link\":\"/comparison/laravel\"}]},{\"text\":\"Versioning policy\",\"link\":\"/versioning-policy\"},{\"text\":\"Reference\",\"link\":\"/reference\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/khalyomede/mantis\"}],\"langMenuLabel\":\"version\"},\"locales\":{\"root\":{\"label\":\"master\"},\"0.0.1\":{\"label\":\"0.0.1\",\"themeConfig\":{\"sidebar\":[{\"items\":[{\"text\":\"Introduction\",\"link\":\"/0.0.1/introduction\"},{\"text\":\"Upgrade\",\"link\":\"/0.0.1/upgrade\"},{\"text\":\"Quick start\",\"link\":\"/0.0.1/quick-start\"},{\"text\":\"Productivity\",\"link\":\"/0.0.1/productivity\"},{\"text\":\"Folder structure\",\"link\":\"/0.0.1/folder-structure\"},{\"text\":\"Http\",\"items\":[{\"text\":\"Life cycle\",\"link\":\"/0.0.1/http/life-cycle\"},{\"text\":\"Routing\",\"link\":\"/0.0.1/http/routing\"},{\"text\":\"Response\",\"link\":\"/0.0.1/http/response\"},{\"text\":\"Request\",\"link\":\"/0.0.1/http/request\"},{\"text\":\"View\",\"link\":\"/0.0.1/http/view\"},{\"text\":\"Translation\",\"link\":\"/0.0.1/http/translation\"},{\"text\":\"Session (file)\",\"link\":\"/0.0.1/http/session-file\"},{\"text\":\"Environment\",\"link\":\"/0.0.1/http/environment\"},{\"text\":\"Database\",\"link\":\"/0.0.1/http/database\"},{\"text\":\"Error handling\",\"link\":\"/0.0.1/http/error-handling\"},{\"text\":\"Logging\",\"link\":\"/0.0.1/http/logging.md\"},{\"text\":\"Middleware\",\"link\":\"/0.0.1/http/middleware.md\"},{\"text\":\"Configuration\",\"link\":\"/0.0.1/http/configuration\"},{\"text\":\"Cors\",\"link\":\"/0.0.1/http/cors\"},{\"text\":\"Extending\",\"link\":\"/0.0.1/http/extending\"}]},{\"text\":\"Console\",\"items\":[{\"text\":\"Routing\",\"link\":\"/0.0.1/console/routing\"},{\"text\":\"Command\",\"link\":\"/0.0.1/console/command\"},{\"text\":\"Argument\",\"link\":\"/0.0.1/console/argument\"},{\"text\":\"Flag\",\"link\":\"/0.0.1/console/flag\"},{\"text\":\"Option\",\"link\":\"/0.0.1/console/option\"},{\"text\":\"Logging\",\"link\":\"/0.0.1/console/logging\"}]},{\"text\":\"Validation\",\"link\":\"/0.0.1/validation\"},{\"text\":\"HTML\",\"link\":\"/0.0.1/html\"},{\"text\":\"CSS\",\"link\":\"/0.0.1/css\"},{\"text\":\"URL\",\"link\":\"/0.0.1/url\"},{\"text\":\"Environment\",\"link\":\"/0.0.1/environment\"},{\"text\":\"Database\",\"items\":[{\"text\":\"Query\",\"link\":\"/0.0.1/database/query\"}]},{\"text\":\"Logging\",\"link\":\"/0.0.1/logging\"},{\"text\":\"Testing\",\"items\":[{\"text\":\"Assertion\",\"link\":\"/0.0.1/testing/assertion\"},{\"text\":\"HTTP\",\"link\":\"/0.0.1/testing/http\"},{\"text\":\"Console\",\"link\":\"/0.0.1/testing/console\"},{\"text\":\"Fake data\",\"link\":\"/0.0.1/testing/fake-data\"}]},{\"text\":\"Deploy\",\"link\":\"/0.0.1/deploy\"},{\"text\":\"Comparison\",\"items\":[{\"text\":\"Laravel\",\"link\":\"/0.0.1/comparison/laravel\"}]},{\"text\":\"Versioning policy\",\"link\":\"/0.0.1/versioning-policy\"},{\"text\":\"Reference\",\"link\":\"/0.0.1/reference\"}]}]}}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>