# Trace level 2 and above

- ## Level 2 adds trace of entry into methods, details of classes, handles, and more

  - we’ll just look at the trace for the prepare_cached() call here:

##

## -> prepare_cached in DBD::_::db for DBD::mysql::db

## (DBI::db=HASH(0x81bcd80)~0x823c6f4

## 'INSERT INTO prices (prod_id,price) VALUES(?,?)')

## 1 -> FETCH for DBD::mysql::db (DBI::db=HASH(0x823c6f4)~INNER 'CachedKids')

## 1 <- FETCH= undef at DBI.pm line 1507

## 1 -> STORE for DBD::mysql::db (DBI::db=HASH(0x823c6f4)~INNER 'CachedKids'

## HASH(0x823a5d4))

## 1 <- STORE= 1 at DBI.pm line 1508

## 1 -> prepare for DBD::mysql::db (DBI::db=HASH(0x823c6f4)~INNER

## 'INSERT INTO prices (prod_id,price) VALUES(?,?)' undef)

## 1 <- prepare= DBI::st=HASH(0x823a5a4) at DBI.pm line 1519

## <- prepare_cached= DBI::st=HASH(0x823a5a4) at trace-ex1.pl line 11

##

- Trace level 3 and above shows more internal processing and driver details
- Use $DBI::neat_maxlen to alter truncation of strings in trace output

## .

Previous slide | Next slide | Back to first slide | View graphic version