Transaction Log
The transaction log registers every transaction executed in the platform with detailed information, such as its response code, the transaction's duration, its steps and each step's result, which allows you to monitor the transaction's health in depth. With this information, if you encounter an error in an app, you can analyze the log of that day and detect errors in the whole transactional flow.
The Settlement process creates daily and monthly transaction tables that are exported at the end of the day and month, and also creates a summary of daily transactions. You can access transaction logs through the database and the file system, or though Middleware (console).
Read below for more information about each transaction log generated by the Settlement.
Important
This article focuses on transaction logs only. For information on operation logs, which cover the platform's components, read the Logs section in VT-NET's documentation.
Daily Transactions Table
Each transaction executed in the system is stored in the daily transaction log table, created by the Settlement process. The name of this table follows this format: XX_TRANSAC_LOG_YYYYMMDD, XX being the product code, such as Mobile Banking.
At a time defined in the Settlement maxLNCutoverTime parameter, the Settlement process exports the daily transaction log table and compresses it to a .gzip file, with the following name format: XX_TRANSAC_LOG_YYYYMMDD_YYYYMMDDhhmmss.trxlog.gz. Files are stored in the Core Server, in the directory set in the Settlement's SettleLogDumpPath parameter. Each file contains the tables' DDL and their inserts.
Below is a detail of each data field that can be found in a daily transaction log table.
Field | Type | Description |
---|---|---|
trxl_id | int(10) | Registry's ID |
trxl_write_timestamp | timestamp | Date and time of the registry |
trxl_msg_typ | int(4) | Type of transactional message |
trxl_msg_stat | int(2) | Message status |
trxl_orig_pro_env | varchar2(2) | Environment of the process that originated the request |
trxl_orig_pro_siteid | number(2) | Site ID of the process that originated the request |
trxl_orig_pro_node | varchar(4) | Node of the process that originated the request |
trxl_orig_pro_name | varchar(16) | Logical name of the process that originated the request |
trxl_hld_orig_pro_env | varchar2(4) | Environment of the first process that originated the request |
trxl_hld_orig_pro_siteid | number(2) | Site ID of the first process that originated the request |
trxl_hld_orig_pro_node | varchar(4) | Node of the first process that originated the request |
trxl_hld_orig_pro_name | varchar(16) | Logical name of the first process that originated the request |
trxl_originator | char(1) | Indicates where was the request regenerated from |
trxl_responder | char(1) | Indicates where the response is generated from |
trxl_excpt_flg | char(1) | Exceptions found while the transaction was executing |
trxl_host_id | varchar(4) | Host code that receives the transaction |
trxl_step_id | int(1) | Transaction step where the host is involved |
trxl_proc_step1, trxl_proc_step2, trxl_proc_step3, trxl_proc_step4 | char(1) | Transaction step and it's result in transactions that support authorization in several steps. |
trxl_host_step1, trxl_host_step2, ,trxl_host_step3 trxl_host_step4 | varchar(4) | Host code that receives the transaction after each step |
trxl_tran_dat | date | Date of the transaction: yyyymmdd |
trxl_tran_tim | time | Time of the transaction: hhmmsscc |
trxl_post_dat | date | Date of the transaction registered in the transaction log, set by the Device Handler or the Host Interface |
trxl_term_id | varchar(36) | Identifier of the terminal that executed the transaction. It identifies, for example, a mobile app installed in a particular device |
trxl_term_ln | varchar(4) | Identifier of the terminal's VT-NET network |
trxl_seq_num | int(5) | Sequence number that identifies a transaction. Each terminal has its own sequence number |
trxl_term_typ | char(2) | Type of terminal where the transaction originated from |
trxl_rvsl_cde | int(2) | Reversal transaction code set by the Device Handler or the Host Interface |
trxl_compl_req | char(1) | Indicates if the host needs a completion notification |
trxl_orig_compl_req | char(1) | Indicates if it is necessary to receive a transaction confirmation from the origin device |
trxl_reversible | char(1) | Indicates if it is necessary to set a reversal transaction if there is no confirmation of a response |
trxl_resp | char(3) | Transaction's response code that is unique for each installation |
trxl_auth_dest | varchar(16) | Authorizator's name |
trxl_entry_tim | datetime | Timestamp that determines when the request enters the system. This is set by the Device Handler or the Host Interface |
trxl_exit_tim | dametime | Timestamp that determines when the request exits the system for an external authorization. This is set by the Device Handler or the Host Interface |
trxl_re_entry_tim | datetime | Timestamp that determines when the request reenters the system after an external authorization. This is set by the Device Handler or the Host Interface |
trxl_transaction_code (*) | int(4) | Transaction code that is unique for each installation |
trxl_institution_code (*) | varchar(4) | Code of the client's Institution |
trxl_client_id_type (*) | varchar(4) | Client identifier type |
trxl_client_id (*) | varchar(64) | Client identifier, with AES-128-CBC encryption |
trxl_card_number (*) | varchar(30) | Client's card number. It can be ommited, or it can hide several digits |
trxl_host_post_date (*) | date | Authorizator host post date |
trxl_host_current_date (*) | date | Authorizator host date |
trxl_host_current_time (*) | time | Authorizator host time |
trxl_host_seq_number (*) | varchar(20) | Authorizator host sequence number |
trxl_host_terminal (*) | varchar(20) | Authorizator host terminal code |
trxl_configuration_group (*) | int(2) | Mobile app's configuration group |
trxl_authorization_code (*) | varchar(10) | Transaction's authorization code, generated as a security measure when the transaction requires it |
trxl_banners_group (*) | int(3) | Mobile app's banners group |
trxl_client_alt_id (*) | varchar(64) | Client's alternative identifier, with AES-128-CBC encryption |
trxl_amount1, trxl_amount, trxl_amount3, trxl_amount4 (*) | float | Amounts involved in a transaction |
trxl_date1, trxl_date2, trxl_date3, trxl_date4(*) | date | Dates involved in a transaction |
trxl_account_pri_id1, trxl_account_pri_id2, trxl_account_pri_id3, trxl_account_pri_id4 (*) | varchar(10) | Primary identifier of the accounts involved in a transaction. For example, an account type |
trxl_account_sec_id1, trxl_account_sec_id2, trxl_account_sec_id3, trxl_account_sec_id4 (*) | varchar(10) | Secondary identifier of the accounts involved in a transaction. For example, an account sub-type |
trxl_account1, trxl_account2, trxl_account3, trxl_account4 (*) | varchar(35) | Account numbers involved in a transaction |
trxl_text1, trxl_text2, trxl_text3, trxl_text4 (*) | varchar(255) | Texts or descriptions involved in a transaction |
trxl_flag1, trxl_flag2, trxl_flag3, trxl_flag4 (*) | char(1) | Flags involved in a transaction |
trxl_auth_code_step1, trxl_auth_code_step2, trxl_auth_code_step3, trxl_auth_code_step4 (*) | varchar(10) | Authorization code related to an authorization's step. It is generated as a security measure by the authorizator when the transaction requires it |
trxl_currency1, trxl_currency2 (*) | int(3) | Code of the currency involved in the transaction, using the numeric ANSI encoding scheme |
trxl_detail | varchar (4000) | Additional information about the transaction and the origin device |
trxl_tech_detail | clob | Detailed information about the transaction's steps |
trxl_host_begin | timestamp | Date when the host received the transaction |
trxl_host_end | timestamp | Date when the host returns the transaction |
trxl_client_plain_id | varchar2(64) | User's identifier (without encrypting) |
trxl_channel | varchar2(35) | Channel that receives the transaction (web, mobile or smartPOS) |
trxl_used_version | number(10) | Transaction version used by the host |
trxl_requested_version | number(10) | Transaction version requested to the host |
trxl_timeout | number(10) | Timeout assigned for the transaction |
trxl_auth_methods_desc | varchar2(255) | Authentication method used by the final user (fingerprint, face recognition, password, etc) |
trxl_rcdc_name_id | varchar2(64) | Name of the Bluegreen experiment running during the transaction execution |
trxl_rc_path | varchar2(20) | Path that took the transaction during a Bluegreen experiment (NULL equals BLUE) |
trxl_session_id | varchar2(3000) | Transaction's session identifier |
Note
(*) These fields will only be avilable for the transactions that contain this information.
The daily transaction log can also be accessed through Middleware, on the Transaction Log option.
Daily Transaction Log File
Besides the daily transaction log table, the Settlement also stores a daily transaction log file directly on the server. This file contains all the transactions processed per node, and can be used alongside monitoring or analytics tools to verify the platform's performance.
To access the daily transaction log file, go to the VT-NET logs directory, /veritran/vt-net/log/. It is stored with the following name format: XX_TRANSAC_LOG_<<LOGICALNETWORK>>_<<NODE>>.log. Everyday at midnight, this file will be renamed to: XX_TRANSAC_LOG_<<LOGICALNETWORK>>_<<NODE>>.logYYYYMMDDHHMMSS.
Each line on the transaction log file corresponds to a transaction or registry, and contains a fixed part, the header, and a part that varies, which contains the data.
Name | Type | Long | Description |
---|---|---|---|
Separator | String | 1 | Fixed separator "[" |
Status | String | 4 | Registry status |
Separator | String | 2 | Fixed separator "]" |
TimeStamp | TimeStamp | 24 | Date and time of the registry |
Separator | String | 3 | Fixed separator "–" |
Pid | Integer | 8 | OS's process identifier |
Separator | String | 1 | Fixed separator ":" |
ThreadId | Integer | 10 | OS's thread identifier |
Separator | String | 2 | Fixed separator "[" |
Object | String | 16 | Name of the object that recorded the event |
Separator | String | 12 | Fixed separator "]" |
In reference to the data part of the log, the file includes all the information listed in the daily transactions table, with the format |<label1>=<value1>|<label2>=<value2>|…|<labelN>=<valueN>|and the following additional information.
Field | Type | Description |
---|---|---|
table | string(100) | Name of the table in the Oracle database |
trxl_device_brand | string(4) | Brand of the device where the transaction originated |
trxl_device_model | string(8) | Model of the device where the transaction originated |
[PEND] 20090304164818:642894700 - 26276: 1 [MBAUTH01 ] table=MB_TRANSAC_LOG_20090304|trxl_write_timestamp=20090304164818522402900|trxl_msg_typ=210|trxl_msg_stat=0|trxl_orig_pro_node=NOD1|trxl_orig_pro_name=MBDH01|trxl_hld_orig_pro_node=|trxl_hld_orig_pro_name=|trxl_originator=1|trxl_responder=2|trxl_excpt_flg=0|trxl_host_id=BNR1|trxl_step_id=|trxl_proc_step1=|trxl_proc_step2=|trxl_proc_step3=|trxl_proc_step4=|trxl_host_step1=|trxl_host_step2=|trxl_host_step3=|trxl_host_step4=|trxl_tran_dat=20090304|trxl_tran_tim=164816|trxl_post_dat=20090304|trxl_term_id=00f22fe1-8700-c1f2-aad2-ceb1040b46d0|trxl_term_ln=NOD1|trxl_seq_num=2|trxl_term_typ=01|trxl_rvsl_cde=0|trxl_compl_req=0|trxl_orig_compl_req=0|trxl_reversible=0|trxl_resp=H99|trxl_auth_dest=MBAUTH01|trxl_entry_tim=20090304164816480|trxl_exit_tim=20090304164817011|trxl_re_entry_tim=20090304164818507|trxl_transaction_code=1010|trxl_institution_code=0000|trxl_client_id_type=BAS|trxl_client_id=7c6fc7d062e3edf21275cd5b3a967a9c|trxl_configuration_group=0|trxl_authorization_code=null|trxl_banners_group=0|trxl_client_alt_id=null|trxl_card_number=null|trxl_host_post_date=null|trxl_host_current_date=null|trxl_host_current_time=null|trxl_host_seq_number=null|trxl_host_terminal=null|trxl_device_brand=NOKI|trxl_device_model=6267____|trxl_amount1=null|trxl_amount2=null|trxl_amount3=null|trxl_amount4=null|trxl_date1=null|trxl_date2=null|trxl_date3=null|trxl_date4=null|trxl_account_pri_id1=null|trxl_account_pri_id2=null|trxl_account_pri_id3=null|trxl_account_pri_id4=null|trxl_account_sec_id1=null|trxl_account_sec_id2=null|trxl_account_sec_id3=null|trxl_account_sec_id4=null|trxl_account1=null|trxl_account2=null|trxl_account3=null|trxl_account4=null|trxl_text1=null|trxl_text2=null|trxl_text3=null|trxl_text4=Los datos proporcionados son incorrectos|trxl_flag1=null|trxl_flag2=null|trxl_flag3=null|trxl_flag4=null|trxl_auth_code_step1=null|trxl_auth_code_step2=null|trxl_auth_code_step3=null|trxl_auth_code_step4=null|trxl_currency1=null|trxl_currency2=null
Daily Summary Table
At the time defined in the Settlement maxLNCutoverTime parameter, the Settlement executes a summary of the transactions executed during that day and saves the table with the following name format: XX_TRANSAC_SUMMARY_YYYYMMDD.
Below is a detail of each data field that can be found in a daily transaction log table.
Field | Type | Description |
---|---|---|
trxs_id | int(10) | Table's identifier |
trxs_post_dat | date | Summary date |
trxs_msg_typ | int(4) | Message type |
trxs_transaction_code | int(4) | Transaction code |
trxs_resp | char(3) | Response code |
trxs_count | int(10) | Number of transactions |
trxs_write_timestamp | datetime | Date and time of the registry's creation |
trxs_max_trxl_id | int(10) | Last identifier in the transaction logs table |
trxs_verify | char(8) | Data's integrity hash |
Monthly Activity Report
At the end of the month, the Settlement process generates and exports a monthly activity report, in which it gathers all the activity related to the transactions executed during the month. The name of this table follows this format: XX_TRANSAC_LOG_YYYYMMDD XX_TRANSAC_SUMMARY_ YYYYMMDD_YYYYMMDDhhmmss.rpt.
Files are stored in the Core Server, in the directory set in the Settlements' SettleMonthRptPath parameter.
Each file contains the following format: