diff --git a/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java b/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java
index a5e7d4f..5944da3 100644
--- a/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java
+++ b/src/java/org/apache/log4j/chainsaw/XMLFileHandler.java
@@ -7,7 +7,7 @@
 package org.apache.log4j.chainsaw;
 
 import java.util.StringTokenizer;
-import org.apache.log4j.Priority;
+import org.apache.log4j.Level;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
@@ -41,7 +41,7 @@
     /** the time of the event **/
     private long mTimeStamp;
     /** the priority (level) of the event **/
-    private Priority mPriority;
+    private Level mLevel;
     /** the category of the event **/
     private String mCategoryName;
     /** the NDC for the event **/
@@ -115,7 +115,7 @@
             mThreadName = aAtts.getValue("thread");
             mTimeStamp = Long.parseLong(aAtts.getValue("timestamp"));
             mCategoryName = aAtts.getValue("logger");
-            mPriority = Priority.toPriority(aAtts.getValue("level"));
+            mLevel = Level.toLevel(aAtts.getValue("level"));
         } else if (TAG_LOCATION_INFO.equals(aQName)) {
             mLocationDetails = aAtts.getValue("class") + "."
                 + aAtts.getValue("method")
@@ -136,7 +136,7 @@
     /** Add an event to the model **/
     private void addEvent() {
         mModel.addEvent(new EventDetails(mTimeStamp,
-                                         mPriority,
+                                         mLevel,
                                          mCategoryName,
                                          mNDC,
                                          mThreadName,
@@ -149,7 +149,7 @@
     /** Reset the data for an event **/
     private void resetData() {
         mTimeStamp = 0;
-        mPriority = null;
+        mLevel = null;
         mCategoryName = null;
         mNDC = null;
         mThreadName = null;
