Virheloki on järjestelmän havaitsemien virheiden loki. Virhelokeja voidaan käyttää useilla eri tavoilla, ja ne voivat olla erittäin hyödyllisiä työkaluja ihmisille, jotka tarvitsevat diagnosoida ja hallita järjestelmiä, kuten web -palvelimia, toimistoverkkoja ja niin edelleen. Virhelokin käyttäminen voi vaatia erityisiä järjestelmänvalvojan oikeuksia, jotka on suunniteltu turvatoimenpiteiksi estämään asiattomia näkemästä virheiden dokumentaatiota.
Jotkut virhelokit luettelevat kaikki esiintyvät virheet. Toiset voidaan ohjelmoida tallentamaan valikoivasti tietoja virheistä ja luettelemaan vain tietyt virhekoodit. Kuitenkin järjestelmä toimii, jokainen virhelokin merkintä sisältää virhekoodin, ajan ja voi lisätä muita tietoja, kuten toimenpiteen, jonka joku yritti suorittaa, jonkun sijainnin ja sen, ratkaistiinko virhe vai ei. Lokeja voidaan etsiä tunnistamaan tietyn käyttäjän kohtaamat tietyt mallit tai virheet.
Verkkovastaaville virhelokien tarkistaminen voi antaa hyödyllistä tietoa ihmisten kohtaamista ongelmista. Ihmiset eivät aina ilmoita virheistä, ja jos verkkovastaavalla on huono linkki, lomake, jota ei voi lähettää, tai vastaava ongelma, se saattaa näkyä lokissa ennen kuin joku kiinnittää verkkovastaavan huomion ongelmaan. Lokit voivat myös antaa tietoja hakkerointiyrityksistä, koska hakkerit voivat aiheuttaa virheitä palvelimelle yrittäessään vaarantaa järjestelmän.
Toimistoverkkojen kaltaisissa järjestelmissä lokeja käytetään käyttäjien kohtaamien ongelmien seuraamiseen ja näiden virheiden syiden selvittämiseen. Yksittäisen järjestelmän tai laitteen virheloki voi myös olla hyödyllinen, varsinkin jos joku ilmoittaa ongelmista. Tarkastelemalla lokia teknikko voi saada lisätietoja havaituista ongelmista ja siitä, mitä tapahtui. Teknikko voi ratkaista virheen tai antaa käyttäjälle tietoja siitä, missä hän meni pieleen.
Jotkut järjestelmät säilyttävät virhelokin tiettyyn määrään merkintöjä, kun taas toiset arkistoivat lokit, jotta niitä voidaan tarkastella milloin tahansa. Näitä asetuksia voi olla myös mahdollista säätää järjestelmän ohjauspaneelin sisällä. Joku, joka esimerkiksi avaa uuden verkkosivuston, saattaa haluta suuren arkiston ennakoida mahdollisia ongelmia, kun sivusto julkaistaan, kun taas vakaalla ja vakiintuneella sivustolla ei ehkä tarvitse olla niin laajaa arkistoa.