1"use strict";(self.webpackChunkabcd_devcom_github_io=self.webpackChunkabcd_devcom_github_io||[]).push([["17444"],{63876(e,t,s){s.r(t),s.d(t,{metadata:()=>l,default:()=>h,frontMatter:()=>r,contentTitle:()=>a,toc:()=>o,assets:()=>d});var l=JSON.parse('{"id":"abcd-administration/system-databases/log-database","title":"System Log Database (log)","description":"The Log Database acts as the internal audit trail for ABCD. It records system-wide events such as user logins, database updates, and operational errors.","source":"@site/versioned_docs/version-3.2/abcd-administration/system-databases/log-database.md","sourceDirName":"abcd-administration/system-databases","slug":"/abcd-administration/system-databases/log-database","permalink":"/docs/3.2/abcd-administration/system-databases/log-database","draft":false,"unlisted":false,"editUrl":"https://github.com/ABCD-DEVCOM/ABCD-DEVCOM.github.io/tree/main/versioned_docs/version-3.2/abcd-administration/system-databases/log-database.md","tags":[],"version":"3.2","lastUpdatedBy":"Roger C Guilherme","lastUpdatedAt":1773018693000,"frontMatter":{"title":"System Log Database (log)","sidebar_label":"System Log"},"sidebar":"tutorialSidebar","previous":{"title":"Loan Objects","permalink":"/docs/3.2/abcd-administration/system-databases/loanobjects"},"next":{"title":"Physical Architecture","permalink":"/docs/3.2/abcd-administration/system-databases/physical-structure"}}'),n=s(74848),i=s(28453);let r={title:"System Log Database (log)",sidebar_label:"System Log"},a="System Log Database (log)",d={},o=[{value:"Location",id:"location",level:2},{value:"Structure Overview",id:"structure-overview",level:2},{value:"Usage",id:"usage",level:2}];function c(e){let t={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsxs)(t.h1,{id:"system-log-database-log",children:["System Log Database (",(0,n.jsx)(t.code,{children:"log"}),")"]})}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.strong,{children:"Log Database"})," acts as the internal audit trail for ABCD. It records system-wide events such as user logins, database updates, and operational errors."]}),"\n",(0,n.jsx)(t.h2,{id:"location",children:"Location"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Standard Path"}),": ",(0,n.jsx)(t.code,{children:"/bases/log/log"})]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsxs)(t.strong,{children:["Path in ",(0,n.jsx)(t.code,{children:"dbn.par"})]}),": Usually defined simply as ",(0,n.jsx)(t.code,{children:"log"}),"."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"structure-overview",children:"Structure Overview"}),"\n",(0,n.jsx)(t.p,{children:"Unlike bibliographic databases, the Log database is automatically populated by the system scripts."}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Tag"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"10"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"Date"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Format: YYYYMMDD"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"20"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"Time"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:["Format: HH:MM",":SS"]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"30"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"Operator"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"The username (login) who performed the action."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"40"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"Database"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:["The database code affected (e.g., ",(0,n.jsx)(t.code,{children:"books"}),", ",(0,n.jsx)(t.code,{children:"users"}),")."]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"50"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"MFN"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"The Master File Number of the record affected."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"60"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"Action"})}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:["Code or description of the action (e.g., ",(0,n.jsx)(t.code,{children:"LOGIN"}),", ",(0,n.jsx)(t.code,{children:"NEW"}),", ",(0,n.jsx)(t.code,{children:"UPDATE"}),")."]})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"90"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.strong,{children:"IP Address"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"The IP address of the client machine."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,n.jsx)(t.p,{children:"Administrators can browse this database to:"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsx)(t.li,{children:"Trace which operator modified a specific record."}),"\n",(0,n.jsx)(t.li,{children:"Investigate failed login attempts."}),"\n",(0,n.jsx)(t.li,{children:"Generate usage statistics."}),"\n"]})]})}function h(e={}){let{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},28453(e,t,s){s.d(t,{R:()=>r,x:()=>a});var l=s(96540);let n={},i=l.createContext(n);function r(e){let t=l.useContext(i);return l.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),l.createElement(i.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.