Kako podesiti prijemnik konzole u TypeScript aplikaciji?

Oct 27, 2025

Ostavi poruku

Hej tamo! Ako vas zanimaju TypeScript aplikacije i želite da postavite umivaonik konzole, došli ste na pravo mjesto. Ja sam dobavljač sudopera za konzole i tu sam da vas provedem kroz proces korak po korak.

Prvo, hajde da shvatimo šta je to konzolni sudoper. U kontekstu TypeScript aplikacije, prijemnik konzole je način za rukovanje i upravljanje izlazom dnevnika vaše aplikacije. To je kao mala kantica u koju idu sve vaše log poruke i možete odlučiti šta ćete s njima - da li ih prikazuje na konzoli, šalje ih u datoteku ili ih čak prosljeđuje udaljenom serveru.

Preduvjeti

Prije nego što zaronimo u postavljanje konzole, potrebno je da imate osnovni TypeScript projekt koji je pokrenut i pokrenut. Ako već niste, možete ga kreirati pomoću alata kao što sunpmitsc(TypeScript kompajler). Evo kratkog pregleda kako započeti:

  1. Inicijalizirajte novi npm projekat:
    Otvorite svoj terminal i pokrenite sljedeću naredbu:

    npm init -y

    Ovo će stvoriti apackage.jsondatoteku u direktoriju vašeg projekta, koji prati sve ovisnosti vašeg projekta.

  2. Instalirajte TypeScript:
    Pokrenite sljedeću naredbu da instalirate TypeScript kao razvojnu ovisnost:

    npm install --save-dev typescript
  3. Kreirajte atsconfig.jsonfajl:
    Možete generirati osnovnutsconfig.jsonfajl pokretanjem:

    npx tsc --toplina

    Ova datoteka sadrži opcije konfiguracije za TypeScript prevodilac.

Postavljanje Simple Console Sink

Sada kada ste pripremili svoj TypeScript projekat, počnimo sa postavljanjem jednostavne konzole. Koristit ćemo osnovni primjer gdje zapisujemo poruke na konzolu.

  1. Kreirajte klasu Logger
    Prvo, kreirajmo aLoggerklasa koja će se baviti evidentiranjem. Kreirajte novi fajl, npr.logger.ts, i dodajte sljedeći kod:

    Commercial Ceramic Vessel Sink Bathroom Set With Industrial Stainless Steel Frame &Wall-Mount Bracket

    class Logger { log(message: string) { console.log(message); } error(message: string) { console.error(message); } } izvoz podrazumevani Logger;

    U ovoj klasi imamo dvije metode:logigreška. Thelogmetoda jednostavno bilježi poruku na konzolu koristećiconsole.log, i thegreškametoda bilježi poruku o grešci koristećiconsole.error.

  2. Korištenje Loggera u vašoj aplikaciji
    Sada, hajde da koristimo našeLoggerklase u našoj glavnoj aplikacijskoj datoteci. Napravite novi fajl, recimoapp.ts, i dodajte sljedeći kod:

    import Logger iz './logger'; const logger = new Logger(); logger.log('Ovo je poruka dnevnika'); logger.error('Ovo je poruka o grešci');

    Ovdje uvozimoLoggerklasu, kreirajte njenu instancu, a zatim koristitelogigreškametode za evidentiranje poruka.

Napredno podešavanje sudopera konzole

Iako je gornji primjer jednostavan način za evidentiranje poruka na konzoli, možda biste željeli učiniti naprednije stvari, poput filtriranja poruka na osnovu njihove ozbiljnosti ili slanja na više odredišta.

  1. Dodavanje nivoa dnevnika
    Dodajmo nivoe dnevnika u našeLoggerklasa. Definisaćemo različite nivoe kao što suDEBUG,INFO,UPOZORENJE, iGREŠKA. Ažurirajtelogger.tsfajl kako slijedi:

    enum LogLevel { DEBUG, INFO, WARN, ERROR } class Logger { private logLevel: LogLevel; constructor(logLevel: LogLevel = LogLevel.INFO) { this.logLevel = logLevel; } log(nivo: LogLevel, poruka: string) { if (nivo >= this.logLevel) { switch (nivo) { case LogLevel.DEBUG: console.debug(message); break; case LogLevel.INFO: console.log(message); break; case LogLevel.WARN: console.warn(message); break; case LogLevel.ERROR: console.error(message); break; } } } debug(message: string) { this.log(LogLevel.DEBUG, message); } info(poruka: string) { this.log(LogLevel.INFO, poruka); } warn(message: string) { this.log(LogLevel.WARN, message); } error(message: string) { this.log(LogLevel.ERROR, message); } } izvoz default Logger;

    U ovaj ažurirani kod, dodali smoenumza nivoe dnevnika i parametar konstruktora za postavljanje minimalne razine dnevnika. Thelogmetoda sada provjerava da li je nivo dnevnika poruke veći ili jednak minimalnom nivou dnevnika prije nego što je evidentira.

  2. Korištenje Advanced Logger
    Ažurirajteapp.tsdatoteku za korištenje naprednogLoggerklasa:

    import Logger, { LogLevel } iz './logger'; const logger = new Logger(LogLevel.DEBUG); logger.debug('Ovo je poruka za otklanjanje grešaka'); logger.info('Ovo je info poruka'); logger.warn('Ovo je poruka upozorenja'); logger.error('Ovo je poruka o grešci');

    Sada možete kontrolirati koje će se poruke evidentirati na osnovu nivoa dnevnika koji ste postavili prilikom kreiranjaLoggerinstance.

Slanje dnevnika na više odredišta

Ponekad ćete možda htjeti poslati svoje dnevnik poruke na više odredišta, kao što su konzola i datoteka. Da bismo to učinili, možemo koristiti koncept koji se zove "sudopere". Sink je odredište na koje se šalju poruke dnevnika.

  1. Kreiranje sučelja sudopera
    Prvo, napravimo interfejs za sudopere. Kreirajte novi fajl,sink.ts, i dodajte sljedeći kod:

    interfejs Sink { write(message: string): void; } izvoz default Sink;

    Ovaj interfejs definiše jednu metodu,pisati, koji se koristi za slanje dnevnik poruke u sink.

  2. Kreiranje sudopera za konzolu
    Sada, hajde da kreiramo konzolu koja implementiraSudoperinterfejs. Ažurirajtelogger.tsfajl kako slijedi:

    import Sink iz './sink'; enum LogLevel { DEBUG, INFO, WARN, ERROR } class ConsoleSink implementira Sink { write(message: string) { console.log(message); } } class Logger { private logLevel: LogLevel; privatni sudoperi: Sudoper[]; constructor(logLevel: LogLevel = LogLevel.INFO, sinks: Sink[] = [new ConsoleSink()]) { this.logLevel = logLevel; this.sinks = sudoperi; } log(nivo: LogLevel, poruka: string) { if (nivo >= this.logLevel) { const formattedMessage = `[${LogLevel[nivo]}] ${message}`; this.sinks.forEach(sink => sink.write(formattedMessage)); } } debug(message: string) { this.log(LogLevel.DEBUG, message); } info(poruka: string) { this.log(LogLevel.INFO, poruka); } warn(message: string) { this.log(LogLevel.WARN, message); } error(message: string) { this.log(LogLevel.ERROR, message); } } export { LogLevel }; izvoz default Logger;

    U ovom ažuriranom kodu kreirali smo aConsoleSinkklasa koja implementiraSudoperinterfejs. TheLoggerklasa sada uzima niz ponora u svom konstruktoru i kada evidentira poruku, šalje poruku svim sinkovima u nizu.

  3. Dodavanje ponora datoteka
    Dodajmo ponor datoteke našoj aplikaciji. Koristićemofsmodul u Node.js za pisanje dnevnik poruka u datoteku. Ažurirajtesink.tsfajl kako slijedi:

    import * kao fs iz 'fs'; interfejs Sink { write(message: string): void; } class ConsoleSink implementira Sink { write(message: string) { console.log(message); } } class FileSink implementira Sink { private filePath: string; constructor(filePath: string) { this.filePath = filePath; } write(message: string) { fs.appendFile(this.filePath, message + '\n', (err) => { if (err) { console.error('Greška pri pisanju u datoteku:', err); } }); } } export { ConsoleSink, FileSink }; izvoz podrazumevani sudoper;

    Sada ažurirajteapp.tsdatoteku za korištenje i ponora konzole i ponora datoteka:

    import Logger, { LogLevel } iz './logger'; import { ConsoleSink, FileSink } iz './sink'; const consoleSink = new ConsoleSink(); const fileSink = new FileSink('app.log'); const logger = novi Logger(LogLevel.DEBUG, [consoleSink, fileSink]); logger.debug('Ovo je poruka za otklanjanje grešaka'); logger.info('Ovo je info poruka'); logger.warn('Ovo je poruka upozorenja'); logger.error('Ovo je poruka o grešci');

    Sa ovim podešavanjem, poruke dnevnika će se slati i na konzolu i naapp.logfajl.

Komercijalni keramički sudoper umivaonik set za kupaonicu

Ako ste takođe zainteresovani zaKomercijalni keramički sudoper umivaonik set za kupaonicu, pokrili smo te. Naši visokokvalitetni konzolni umivaonici nisu samo elegantni već i izdržljivi, savršeni za svako komercijalno ili stambeno kupatilo.

Zaključak

Podešavanje konzole u aplikaciji TypeScript može biti jednostavno ili složeno koliko vam je potrebno. Bilo da samo bilježite poruke na konzolu ili ih šaljete na više odredišta, koncepti koje smo ovdje pokrili mogu vam pomoći da izgradite robustan sistem evidentiranja.

Ako ste zainteresovani za naše proizvode za sudopere za konzole, bilo da se radi o potrebama evidentiranja vaše aplikacije TypeScript ili za vaše kupatilo, slobodno se obratite za raspravu o nabavci. Tu smo da vam pomognemo da pronađete najbolje rješenje za vaše zahtjeve.

Reference

  • TypeScript dokumentacija
  • Node.js dokumentacija
Pošaljite upit