Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-06-2006, 17:09   #1
diegof83
Member
 
Iscritto dal: Feb 2006
Messaggi: 79
[java] errore log4j

ciao mi sono scaricato la libreria log4j. devo usarla con tomcat quindi al momento ho dovuto estrarre il file log4j-1.2.13.jar e metterlo nella cartella tomcat5.0-> webapps->root->webinf->lib. solo che lanciando il comando import org.apache.log4j.*; mi dà errore e mi dice che il package org.apache.log4j non esiste. cosa devo fare???
diegof83 è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2006, 17:19   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da diegof83
ciao mi sono scaricato la libreria log4j. devo usarla con tomcat quindi al momento ho dovuto estrarre il file log4j-1.2.13.jar e metterlo nella cartella tomcat5.0-> webapps->root->webinf->lib. solo che lanciando il comando import org.apache.log4j.*; mi dà errore e mi dice che il package org.apache.log4j non esiste. cosa devo fare???
Premetto che non conosco Tomcat ... quindi non so come gestisce le librerie. Credo che dove hai messo il jar vada bene in fase di run-time ma ... nel momento in cui compili i tuoi sorgenti??? Il jar ce l'hai in classpath???
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2006, 17:31   #3
diegof83
Member
 
Iscritto dal: Feb 2006
Messaggi: 79
quindi al momento della compilazione devo fare
set classpath =....... ?
anche perchè non saprei cosa mettere come path....

Ultima modifica di diegof83 : 12-06-2006 alle 17:34.
diegof83 è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2006, 17:42   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da diegof83
quindi al momento della compilazione devo fare
set classpath =....... ?
anche perchè non saprei cosa mettere come path....
Come path ci devi mettere il path completo del file jar. Un qualcosa del tipo (la sparo lì ): C:\Programmi\tomcat5.0\webapps\root\webinf\lib\log4j-1.2.13.jar

Comunque se compili da console, ogni volta che la apri dovresti fare set bla bla... Meglio impostare il classpath su Windows in modo che sia globale.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2006, 18:07   #5
diegof83
Member
 
Iscritto dal: Feb 2006
Messaggi: 79
ok ho fatto tutto quello che dovevo.... non è che per caso sai usare il file log4j.properties???
diegof83 è offline   Rispondi citando il messaggio o parte di esso
Old 12-06-2006, 18:14   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da diegof83
non è che per caso sai usare il file log4j.properties???
No, sorry.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2006, 16:47   #7
texerasmo
Senior Member
 
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
questo è un esempio

log4j.rootCategory=ERROR, R

log4j.category.HttpServlet=ERROR
log4j.category.DBUserLoginServlet=ERROR
log4j.category.DBUserLoginServlet=INHERITED

### Append sulla console
#log4j.appender.R=org.apache.log4j.ConsoleAppender
log4j.appender.R=org.apache.log4j.FileAppender
log4j.appender.R.file=c:/servlet.log

### Pattern dell'output
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
texerasmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2006, 16:48   #8
texerasmo
Senior Member
 
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
leggi anche questa guida

Il root logger risiede al top della gerarchia del logger.
Tutti i logger sono istanziati e restituiti con il metodo statico
Logger.getLogger(String name);
dove name è il nome de logger desiderato.

package org.apache.log4j;

public class Logger {

// Creation & retrieval methods:
public static Logger getRootLogger();
public static Logger getLogger(String name);

// printing methods:
public void debug(Object message);
public void info(Object message);
public void warn(Object message);
public void error(Object message);
public void fatal(Object message);

// generic printing method:
public void log(Level l, Object message);
}
Ad un logger può essere assegnato dei livelli. Il set possibile di livelli è DEBUG, INFO, WARN, ERROR, FATAL e sono definiti nella classe org.apache.log4j.Level.
Si possono definire sotto classi, ma questo è sconsigliati.
Le richieste di logging sono fatte invocando uno dei metodi di printing dell'istanza di logger che sono: debug, info, warn, error, fatal e log.
Il metodo di printing determina il livello della richiesta di logging. Per esempio, se c è un'istanza di un logger, allora l'istruzione c.info('..') è una richiesta di logging di livello INFO.
Una richiesta di logging è definita enabled se il suo livello è maggiore uguale del livello del suo logger. Altrimenti la richiesta e definita disabled.Un logger senza un livello assegnato ne eredita uno dalla gerarchia. Questa regole è riassunta sotto:
Basic Selection Rule
Una richiesta di log di livello p è enabled se p>=q dove q è il livello associato al logger.
DEBUG<INFO<WARN<ERROR<FATAL<LOG<ALL
Es.
// get a logger instance named "com.foo"
Logger logger = Logger.getLogger("com.foo");

// Now set its level. Normally you do not need to set the
// level of a logger programmatically. This is usually done
// in configuration files.
logger.setLevel(Level.INFO);

Logger barlogger = Logger.getLogger("com.foo.Bar");

// This request is enabled, because WARN >= INFO.
logger.warn("Low fuel level.");

// This request is disabled, because DEBUG < INFO.
logger.debug("Starting search for nearest gas station.");

// The logger instance barlogger, named "com.foo.Bar",
// will inherit its level from the logger named
// "com.foo" Thus, the following request is enabled
// because INFO >= INFO.
barlogger.info("Located nearest gas station.");

// This request is disabled, because DEBUG < INFO.
barlogger.debug("Exiting gas station search");




import com.foo.Bar;

// Import log4j classes.
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;

public class MyApp {

// Define a static logger variable so that it references the
// Logger instance named "MyApp".
static Logger logger = Logger.getLogger(MyApp.class);

public static void main(String[] args) {

// Set up a simple configuration that logs on the console.
BasicConfigurator.configure();

logger.info("Entering application.");
Bar bar = new Bar();
bar.doIt();
logger.info("Exiting application.");
}
}

Appenders e Layout
Log4j permette che richieste di logging siano stampate su destinazioni multiple. Ciascuna di questa destinazione viene definita appender. Attualmente gli appenders esistono per:
- console
- file
- componenti GUI
- remote socket
- servers
- JMS
- NT Event Loggers
- processi demonit remote UNIX Syslog

Per aggiungere un appender ad un logger si usa il metodo addAppender. Ogni richiesta logging enabled per un certo logger sara rigirato a tutti gli appender del logger così come a tutti gli appender più in alto nella gerarchia.
Si può associare anche layout ad un appender. Si può fare questo usando il PatternLayout che permette di specificare il formato di output in accordo ad un pattern di conversione simile al sintassi della funzione printf del linguaggio C.
Per esempio:
%r[%t]%-5p %c - %m%n
da l'output:
176 [main] INFO org.foo.Bar - Located nearest gas station.
dove il primo campo è il numero di millisecondi passati dallo start del programma. Il secondo è il thread che ha fatto il log request. Il terzo è il livello di un'istruzione di log. Il quarto p il nome del logger associato con il la richiesta di log. %m%n stampa il testo del messaggio.

%5p indica il tpo di priorità del messaggio (WARN, DEBUG, ecc.);

[%t] indica il nome del thread che ha generato il messaggio;

%F nome del file da cui è partita la chiamata;

%L numero di linea che ha prodotto l’output;

%m Mio eventuale messaggio;

%n new line (a capo);

%c Categoria che ha scatenato il log.

Alcuni tipi di appender:
- ConsoleAppender individua come flusso di default quello a monitor, ma è configurabile.
- FileAppender per scrivere su un file.
- RollingFileAppender che permette di definire un file di default con una grandezza massima. Una volta raggiunta tale dimensione ne crea un secondo, cancellando quello vecchio. Si indica il numero massimo di files di backup.
- DailyRollingFileAppender come precedente ma fa un discorso di tipo giornaliero

Il pattern può essere
- PatternLayout
- HTMLLayout
- XMLLayout
- TTCCLayout

Configurazione
L'ambiente log4ij è pienamente configurabile programmaticamente. Comunque la configurazione log4j attraverso file è più flessibile. Il file di configurazione può essere scritto in XML o in un Java properties del formato key=value.
Un invocazione al metodo BasicConfiguration.configure crea un semplice setup log4j. Questo metodo è usato per aggiungere un ConsoleAppender ad un root logger. L'output sarà formattato usanfo un PatterLayout.

Alcuni file di configurazione di esempio:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

----------------------------------------------------------------------------------------------------

log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN

----------------------------------------------------------------------------------------------------

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

Nota: Il file log4j.properties deve trovarsi nella stessa directory della classe che lo usa. Es: WEB-INF/classes.
texerasmo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
La capsula SpaceX Dragon CRS-33 ha acces...
La NASA è sempre più vicin...
Crisi delle memorie: ASUS torna al passa...
Le console next-generation potrebbero es...
Gemini cresce ancora: la quota di mercat...
Samsung sfida TSMC: la capacità produtti...
Iliad alza il prezzo della fibra ottica ...
Il prossimo low cost di POCO sarà il più...
The Elder Scrolls VI: ecco le ultime sul...
Ecco i saldi di fine anno Amazon, 34 off...
iPhone Fold: scorte limitate al lancio m...
OpenAI porterà la pubblicità in ChatGPT ...
TSMC aumenterà ancora i prezzi: nel 2026...
Marvel pubblica anche il secondo teaser ...
Nuovo accordo tra xAI e il Pentagono: l'...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v