summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/EFI/Firmware/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/message.py
blob: e36930ef612abbcc9f4e1f28b03715d1d0a75547 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
## @file
#
# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#

def GetEdkLogger():
    import logging
    return logging.getLogger('edk')

class EdkException(Exception):
    def __init__(self, message, fName=None, fNo=None):
        self._message = message
        ErrorMsg(message, fName, fNo)

    def GetMessage(self):
        return '[EDK Failure]: %s' %self._message

def ErrorMsg(mess, fName=None, fNo=None):
    GetEdkLogger().error(NormalMessage('#ERR#', mess, fName, fNo))

def LogMsg(mess, fName=None, fNo=None):
    GetEdkLogger().info(NormalMessage('@LOG@', mess, fName, fNo))

def WarnMsg(mess, fName=None, fNo=None):
    GetEdkLogger().warning(NormalMessage('!WAR!', mess, fName, fNo))

def NormalMessage(type, mess, fName=None, fNo=None):
    strMsg = type

    if fName is not None:
        strMsg += ' %s' % fName.replace('/', '\\')
        if fNo is not None:
            strMsg += '(%d):' % fNo
        else:
            strMsg += ' :'

    if fName is None and fNo is None:
        strMsg += ' '
    strMsg += mess

    return strMsg