# Access ProgressLoggerFactory through the public API

**URL:** <https://discuss.gradle.org/t/access-progressloggerfactory-through-the-public-api/752>\
**Category:** Old Forum Archive\
**Created:** [January 29, 2014, 6:10am UTC](https://discuss.gradle.org/t/access-progressloggerfactory-through-the-public-api/752 "2014-01-29T06:10:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michel\_Kramer](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/michel_kramer/32/211_2.png) [@Michel\_Kramer](https://discuss.gradle.org/u/Michel_Kramer)\
**Post date:** [January 29, 2014, 6:10am UTC](https://discuss.gradle.org/t/access-progressloggerfactory-through-the-public-api/752/1 "2014-01-29T06:10:00Z")

</div>

Hi folks!

I’m the author of the gradle-download-task ([https://github.com/michel-kraemer/gradle-download-task/](https://github.com/michel-kraemer/gradle-download-task/)). This plugin is able to display progress while downloading files. For this I’m using the public class ‘ProgressLoggerFactory’. At the moment I get an instance of this class through the following code (Java):

ProjectInternal pi = (ProjectInternal)project;

ProgressLoggerFactory plf = pi.getServices().get(ProgressLoggerFactory.class);

progressLogger = plf.newOperation(getClass());

String desc = "Download " + src.toString();

progressLogger.setDescription(desc);

progressLogger.setLoggingHeader(desc);

I know that using the internal API is not a good idea. The plugin has compatibility issues almost every time a new gradle version is released. I’m referring to this issue: [https://github.com/michel-kraemer/gradle-download-task/issues/3](https://github.com/michel-kraemer/gradle-download-task/issues/3)

Is it possible to access ProgressLoggerFactory without using the internal API? Or do you have another idea how to get a new ProgressLogger?

Thanks for your help! Michel
